您尚未登录。

#1 全志 SOC » buildroot使能busybox的grep指令,出现pcre异常 » 2025-05-10 18:24:44

willX
回复: 0

最近在f1c200s上调整busybox工具,添加了grep指令,使用buildroot的配置使能grep,但是在编译后buildroot报告pcre_compile异常。
敢问路过的仁人志士,类似的情况有遇到过吗?
     现在尝试的方法是,在ubuntu上安装了pcre和pcre2环境,无效。
     也尝试过在busybox工具配置里也同时使能pcre,无效。

grep报错.png

checking for a traditional french locale... (cached) none
checking for a french Unicode locale... (cached) none
checking for a traditional japanese locale... (cached) none
checking for a transitional chinese locale... (cached) none
checking for stdint.h... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether closedir returns void... yes
checking whether NLS is requested... no
checking for msgfmt... /home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/host/bin/msgfmt
checking for gmsgfmt... /home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/host/bin/msgfmt
checking for xgettext... /home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/host/bin/xgettext
checking for msgmerge... /home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/host/bin/msgmerge
checking for CFPreferencesCopyAppValue... (cached) no
checking for CFLocaleCopyCurrent... (cached) no
checking for CFLocaleCopyPreferredLanguages... (cached) no
checking whether to use NLS... no
checking for PCRE... yes
checking for pcre_compile... no
configure: error: pcre support not available
package/pkg-generic.mk:254: recipe for target '/home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/build/grep-3.3/.stamp_configured' failed
make[1]: *** [/home/book/work/f1c200s/new_edition_20240225/buildroot-tiny200/output/build/grep-3.3/.stamp_configured] Error 1
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

#3 Re: 工业芯 匠芯创 » MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘 » 2025-02-21 10:10:35

单片机,STM32,C51……不都是XIP的吗?S3C2440 ARM9的“位置无关码”也是这样的原理的吧。

#4 Re: BLDC电机驱动 » 最近想做个无感高速驱动 » 2024-10-30 11:07:34

目测就是个搞不定的项目。低速带载和高速压根就是不同的硬件结构,位置算法就不说了。

#5 Re: 全志 SOC » 全志有没有带TV IN、h265编码、DDR合封的芯片? » 2024-10-30 10:53:49

ruixiang 说:

谢谢楼上几位,t113-s3和F133-B只有H265解码,没有编码啊

V3s有编码,原型机就是定位行车记录仪的,所以V3s的编码配置比较全。但是没有TVIN[狗头]

#6 Re: 全志 SOC » 为什么看到大家用F1C100s比用V3s的多呢? » 2024-10-11 14:46:12

价格便宜,功能多,制作也方便。裸机状态下的f1c,性能、资源远超各种M0,M3,M4。带OS系统下的f1c,USB、LCD、DVP……基本的功能都有了。考虑到这价格就问还要啥自行车?

#7 Re: 全志 SOC » licheepi-nano OTG挂载RTL8188xx终于驱动起来了~ » 2024-03-30 18:59:17

@willX
自问自答了哈,是命令配置的问题,应该用:
wpa_supplicant -B -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -D wext
然后使用命令:
wpa_cli -iwlan0 status 就能看到WiFi的连接状态了。
但是LZ后续的命令ifup wlan0始终执行失败,只能手动udhcpc -i wlan0执行自动获取IP,然后就看到RTL8188成功获取IP并连接到AP了。

#8 Re: 全志 SOC » licheepi-nano OTG挂载RTL8188xx终于驱动起来了~ » 2024-03-30 18:23:32

在buildroot里找到了RTL8188EU的驱动,使能之后dmesg里的确能看到USB识别到了RTL8188,但是在执行使能命令:wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf 之后,总是会报如下的错误。

# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
nl80211: Driver does not support authentication/association or connect commands
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
wlan0: Failed to initialize driver interface

不知道大佬有没有这方面的debug经验参考一下。

#9 Re: 全志 SOC » 记一次F1C100s SD启动失败挖坑经历 » 2024-03-14 18:02:46

如果是1bit模式的话,licheepi和串口屏的TF原理图应该是可以通用的吧?

#10 Re: 全志 SOC » 有偿求助,有一份从spiflash内dump出的(UBI)rootfs,我自己添加了东西后如何从新再打包成原来的UBI文件系统 » 2024-03-14 17:54:08

Gentlepig 说:

那么,有什么办法防止从spi nand里读出rootfs呢?

确实,感觉是在复制别人的系统。如果是这样的话外挂SPI的Linux都很危险啊。

#11 Re: 全志 SOC » 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump » 2024-03-06 23:58:51

海石生风 说:

先rootfs挂载为read only,备份rootfs,格式化rootfs所在分区,再恢复。

感谢回复,想请问下,你这样备份后又恢复rootfs的原因是什么啊?还请能否仔细描述下原因,非常感谢。

#12 Re: 全志 SOC » 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump » 2024-03-06 15:22:39

更新一下最近一周的调试情况:
1.回退了aodzip大佬的patch,回退到init记录,并且make clean后重新编译,还是会出现上述的问题。
2.对出故障的TF进行了fsck的修复。fsck -t ext4 /dev/sda3,但是很可惜的是,会导致文件丢失。也就无法boot系统了。
3.修改了Linux kernel的mount选项,强制rootfs挂载为read only模式,发现文件系统可以识别,也可以重启了。但是root目录RO了非常难调试,所以尝试在开机后remount了root目录,发现一旦remount后ext4的文件系统就报错,这时候reboot,问题又复现了。

通过以上调试发现,当前的问题是ext4的rootfs不能写入任何数据,一旦写入就会导致super block数据异常。
下一步分析方案:
1.校验TF卡镜像的rootfs起始地址,检查rootfs的挂载地址是否正确。
2.ext4文件系统调试,检查ext4_mount()函数在挂载过程中出现invalid superblock checksum的直接原因。但是aodzip大佬的开源镜像一直在用,按理说不应该到这一步的,应该是个小问题。所以该方向也被放到最后进行。

#13 Re: 全志 SOC » Steward & Dr zhu V3s 掌机 » 2024-03-06 15:12:34

刚才从steward的那个帖子过来,看过事情经过。真的,太可惜了……

#14 全志 SOC » 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump » 2024-02-27 01:12:58

willX
回复: 4

最近硬盘突然挂了,但是mango R3的板子还在用,不得不更新到最新的aodzip大佬的镜像。编译成功后发现问题,烧写IMG成功系统后能加载uboot也能进kernel,但是一旦reboot就报ETX4的文件系统checksum error。就再也无法开机了。
麻烦路过的大佬帮忙看看,这个问题吧。非常感谢。
dump.png

源代码地址:
git clone https://github.com/aodzip/buildroot-tiny200.git
完整的dmsg日志:
dmesg.zip

#15 Re: 全志 SOC » EA3036芯片老烧大家帮我分析下。。 » 2024-01-19 23:36:28

大家有没有仔细看EA3036CQDR的数据手册,上面引脚20是NC,但是看大家的电路图,20脚都接了SW3?

#16 Re: 全志 SOC » f1c200s使用mangoPi r3,开机卡Trying to boot from MMC1 » 2023-09-18 09:49:32

感谢帮助^.^

问题终于解决了,原因是把lichee pi和mangoR1的镜像搞混了,lichee PI的SPL是2018年的只能使能SPI启动,插上TF就卡死了。
换成mango R1 tiny200的镜像,能清晰得看到SPL是 2020.07 版本的,这个就能带TF卡启动,毫无压力。

#17 全志 SOC » f1c200s使用mangoPi r3,开机卡Trying to boot from MMC1 » 2023-09-14 15:23:00

willX
回复: 2

最近调试f1c200s的驱动程序,忽然发现SPL无法启动MMC1,表现是不插TF卡单独使用SPI能够正常启动系统。但是如果插上32GB的KIOXIA牌TF卡后,开机就会出现SPL的报错:Trying to boot from MMC1
然后就再也没有动静了,uboot一直没办法成功加载,问下群里的大神,这种情况该如何处理?

#18 Re: 全志 SOC » 全志F1c200s开机时间问题 » 2023-09-03 19:44:38

uboot的log时间戳,是用了 grabserial 后打印出来的吗?

#19 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 【新玩具get】AGM AGRV2K,16.8块钱的MCU+FPGA二合一芯片 » 2023-08-25 10:24:15

AGMMicro 说:

@Robo_V1

您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~

这不是说硬件问题吗?还能修复?同问详细方案和影响啊。

#20 Re: 全志 SOC » 写了一个f1c100s gpio工具,方便命令行操作gpio,开源分享 » 2023-08-11 10:42:02

看代码是用devmem实现的,这种方法如果能带一个config参数表,就能适配到别的Soc上了,现在看只能f1c100s/f1c200s用。

#21 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-05-18 10:22:41

确实,这个速度是buff过的,把directIO打开吧。真的往disk上写,才是真的写。

#22 Re: 全志 SOC » 全志T113-S3 G2D加速裸机驱动 » 2023-05-10 10:23:22

#include <g2d/g2d.h>

LZ请问,这个头文件在哪呢?

#23 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在网上看到的开源低成本USB 2.0协议分析仪OpenVizsla,支持高速USB(480 Mb/s) » 2023-04-28 15:24:36

现在都用SPARTAN了? 不知道Altera的EP4CE6搞这个咋样。其实上个1G的DDR,抓480Mbps的数据,也能撸17s。再带上CH569的USB3.0上传通道1.2Gbps,分析分钟级别的USB通信,足够用了。

#24 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在网上看到的开源低成本USB 2.0协议分析仪OpenVizsla,支持高速USB(480 Mb/s) » 2023-04-28 15:21:16

wxws 说:

2楼说的就是我开搞的。

国内有网友有全套卖,
主要是软件写好了:http://www.usbpacketviewer.com/


这种的是已经商业化的产品,不开源啊。看硬件不难啊,这个有全开源的版本最好了。

#25 Re: 全志 SOC » 全志H6开发板-从零入门ARM高速电路设计 » 2023-04-11 16:14:52

Blueskull 说:
tocurd 说:

问一下这种BGA的咋手焊啊

几百块钱买个预热板,你会感谢我的。预热板开到200度,热风开到320度,吹无铅焊锡(217C)太容易了。

预热台确实好用,赞!
热风开到320,板子上得有300°了。这样焊接BGA IC能扛得住吗?

#26 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 红米2(msm8916)的debian 11和主线内核(5.14-rc4)刷机包 » 2021-08-29 23:52:20

handsomehacker 说:
willX 说:

LZ给的刷机包路径里,只有一个jpeg照片和read.md,包在哪呢?
https://github.com/Project-DragonPi/mobian-wt88047

包没有放在仓库里,放在release里面

确实看到readme.md说放在release里了,但是这个release在哪?

#28 Re: 全志 SOC » 为了精华特意制作F1c200s-MP4播放器,支持硬件H264(开源板子和原理给个精华) » 2021-03-07 23:03:53

AD09看了下楼主的PCB,总体上很不错,但是:
1. polygon和其他走线间距应该 > 20mil。楼主的PCB里统一了clearance 为10mil,这一点在焊接接插器件时,很容易短路。(比如电解电容)
2. 没有泪滴
3. 主干电源线路上有4个分叉(小于2个是不是更合适?),其他通路,比如3.3V分叉更多。
求解答……

#29 Re: 全志 SOC » F1C200S使用OV2640拍照 » 2020-12-31 20:22:27

敢问岛主,ov2640的设备树怎么配啊?

#30 Re: 全志 SOC » F1C100S PE11 CLK_OUT输出时钟问题 » 2020-12-22 00:57:42

请问大佬们,f1c200s手册上GPIO这章节,说PE11是CLK_OUT,PE12是DA_MCLK,请问这两个哪个是能够给摄像头提供24MHz主时钟的输出引脚?多谢大佬路过指导下了。感谢。

#31 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2020-11-28 00:14:35

晕哥 说:

你用buildroot下面的工具链就没问题了: output/host/bin/arm-linux-gcc

晕哥,小弟有个疑问,为什么在编译app的时候必须使用buildroot下面的交叉编译环境呢?
经过测试确实发现,直接使用编译kernel时间的 arm-linux-gnueabi-gcc 这一交叉编译器,在f1c200s中跑app是失败的,但是这是为什么呢?
很纠结啊,恳请晕哥赐教,不胜感激!

我现在将tslib移植到楼主的这个4.15内核中,使用 arm-linux-gnueabi-gcc 编译出了ts_calibrate、ts_test等文件,但是在f1c200s的kernel中跑,总是提示找不到ts_calibrate文件,应该是交叉工具链的故障导致bin文件失效。想着用这个buildroot/host/bin里的交叉工具链,但是这个工具链在编译tslib的时候又提示arm-linux-cpp不能生成可执行文件,具体的错误是这个arm-linux-cpp 无法识别 -V 参数,无法识别qversion 参数。郁闷啊……

#32 Re: 全志 SOC » 尝试从一开发F1C100s应用 » 2020-11-28 00:10:09

楼主,麻烦问下,为什么你编译arm上跑的应用软件时,使用的是:make CC=/home/book/f1c100s/buildroot-2017.08/output/host/bin/arm-linux-gcc
为什么不用直接使用编译kernel时的交叉编译器呢? 比如这个:arm-linux-gnueabi-gcc-7.2.1

   疑问: 为什么会出现两套交叉编译器呢?

#33 Re: 全志 SOC » 荔枝派Nano电阻触摸屏(RTP)使用主线内核无法进中断,大神帮忙看一下 » 2020-11-24 17:07:35

问下楼上的大神,我使用的是nanopi的4.15的内核。一直找不到CONFIG_TOUCHSCREEN_SUN4I这个选项,hwmon已经打开了。
但是在  General setup  ---> Input device support  ---> Touchscreens  ---> 下面找不到与sunxiv相关的选项,请问这个是什么原因?
我在.config文件中也没有找到CONFIG_TOUCHSCREEN_SUN4I这个选项,这是不是就是说kernel 4.15代码中没有带f1c200s的触摸驱动?

#34 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-17 13:27:20

这个牛逼了,感觉迪卡的硬件功力响当当啊。加油!

#35 Re: 全志 SOC » 荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐 » 2020-11-12 10:49:06

这个厉害了,V3S的硬解确实厉害,不知道openmax能移植到f1c200s上不?如果可以的话,做个支持DLNA的电子相框,确实不错。

#36 Re: 全志 SOC » 尝试从一开发F1C100s应用 » 2020-07-21 23:55:29

麻烦路过的大神移步: 链接:adbd调试故障
这里有详细的adb调试失败截图,帮忙看看哈,多谢多谢。


哇酷小二 说:

Linux3.4 bsp linux下还没有玩过adb,你现在碰到什么问题呢,把错误信息贴出来或许路过的朋友可以帮到你。

#37 Re: 全志 SOC » 尝试从一开发F1C100s应用 » 2020-07-02 10:37:29

LinjieGuo 说:

是的,adb速度比较快!

关于adb功能的启用,在Linux3.14上,楼主有什么好的推荐吗?

我现在打开了usb gadget驱动,usb functionfs驱动,编译好了adbd、adb,但是板子接电脑一直不能识别(一点动静没有)。不明原因啊,痛苦了几天了。
楼主有空帮忙看看,多谢啦。

转 123楼:https://whycan.cn/t_2794.html

willX 说:

麻烦问下,g_ffs.ko 以及adbd都正常生成了。但是启动adbd之后,f1c200s的USB一直没有任何动静,哪位大神能给指点下迷津?

1. lsusb命令,在系统中只能看到一个设备:Bus 001 Device 001: ID 1d6b:0002。下有截图。
2. 系统中没有otg相关节点,所以没办法手动调整USB的host模式。
3. dmesg命令中,有g_ffs musb-hdrc.1.auto: unregistering UDC driver [g_ffs]。下有截图。
4. 已经将PE2改成ACTIVE_LOW了,但是看原理图上PE2 和 USB没有任何联系,不知道为什么要这样改。

https://whycan.cn/files/members/1954/none_20200629-2359.jpg

https://whycan.cn/files/members/1954/dmesg信息.jpg

https://whycan.cn/files/members/1954/otg节点.jpg

https://whycan.cn/files/members/1954/lsusb.jpg

#38 Re: 全志 SOC » 分享个licheepi nano镜像,支持adb调试 » 2020-06-30 00:00:10

麻烦问下,g_ffs.ko 以及adbd都正常生成了。但是启动adbd之后,f1c200s的USB一直没有任何动静,哪位大神能给指点下迷津?

1. lsusb命令,在系统中只能看到一个设备:Bus 001 Device 001: ID 1d6b:0002。下有截图。
2. 系统中没有otg相关节点,所以没办法手动调整USB的host模式。
3. dmesg命令中,有g_ffs musb-hdrc.1.auto: unregistering UDC driver [g_ffs]。下有截图。
4. 已经将PE2改成ACTIVE_LOW了,但是看原理图上PE2 和 USB没有任何联系,不知道为什么要这样改。

none_20200629-2359.jpg

dmesg信息.jpg

otg节点.jpg

lsusb.jpg

#39 Re: 全志 SOC » 分享个licheepi nano镜像,支持adb调试 » 2020-06-29 23:54:14

哇酷小二 说:

可能不是直接放dl目录,或许是下一级目录,具体可以追踪脚本源码。

确实,直接将未下载完的openssl文件包,放到dl文件夹中。再把对应的openssl的临时文件删除才能行。
多谢帮助。

#40 Re: 全志 SOC » 尝试从一开发F1C100s应用 » 2020-06-28 15:47:16

感谢楼楼大力支持啊,但是我觉得是不是adb更好用啊?而且速度也快。

#41 Re: 全志 SOC » 分享个licheepi nano镜像,支持adb调试 » 2020-06-28 01:37:48

wenfengtou 说:

adb要配置usb为host模式还是device模式呢?参照链接 https://whycan.cn/t_1672.html#p22720 进行修改

电脑可以识别出一个叫做USB Function的设备,不知道是否正常?
https://whycan.cn/files/members/2789/usbfunction.png

而这个USB Function设备居然可以用adb连接了。这算是正常的了吗?按照理解adb不是应该属于usb device模式吗???
https://whycan.cn/files/members/2789/usbadb.png

问下这位同学,麻烦问下,为什么要把PE2引脚置高或者置低电平呢?

#42 Re: 全志 SOC » 分享个licheepi nano镜像,支持adb调试 » 2020-06-28 00:01:51

多谢指导,不知道你说的“手动下载”是什么意思?
不过我确实是在buildroot的dl目录里发现OpenSSL的一些文件,暂时不知道这些文件是干什么的。
openssl_temp.jpg

该怎么处理这些带有后缀的文件?
我在openssl官网上下载了openssl1.0.2a以及openssl1.0.2l.tar.gz 直接放到dl文件夹里了。重新编译后,发现还是同样的报错。直接手工下载放进dl的方法,是有问题的吗?

#43 Re: 全志 SOC » 分享个licheepi nano镜像,支持adb调试 » 2020-06-27 21:57:48

麻烦问下,我在尝试给f1c200s添加adb功能,使用的是nanoPi,Linux3.14内核,在添加了buildroot的adb选项后,被强制引入了OpenSSL(如下图一),重新编译后发现OpenSSL有故障,无法编译通过。提示"No hash found for openssl-1.0.2d-parallel-build.patch_……"如下图二。在百度、Google上所搜了很长时间都未能解决,麻烦楼主、晕哥给出出主意,分外感谢。1_20200627-2157.jpg

3.jpg

#44 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2020-04-05 22:58:23

系统启动了,但是发现f1c200s暂时成了一个孤岛,没有网口,没有usb,
大家是怎么把测试软件、文件上传到正在f1c200s里运行的文件系统里的?

#45 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2020-03-27 00:31:25

晕哥 说:

@willX 是不是你的板子flash离cpu比较远, 或者有干扰造成的,
把spi的频率降下来试一试.

因为 brom 能读出spi flash 数据, 但是 u-boot 却不能初始化 spi flash.

多谢晕哥,我用的是widora的tiny200板。
通过不断的重测,原来是kernel下的.config文件闹出的问题,而且还有一个,我自作主张把ARCH和CROSS_COMPILE
放到编译系统的环境变量里了,我发现这样经常出问题。
反而是老老实实的写make命令,make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4这样,倒是一点毛病没有了。
不知道是不是我的Ubuntu环境问题,又或者是我在使用menuconfig时有差异。

总之,板子现在已经跑起来了,非常感谢晕哥和楼主的大力支持。严格按照楼主操作是可以编译出能用的镜像来的。非常赞!
1.jpg

这个是我的串口日志:
none.txt

这个是我在用的镜像:16MB
f1c100s_spiflash_16M.zip

#46 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2020-03-25 22:13:18

LinjieGuo 说:

把提示截屏放上来看看。

感谢。这个是我现在运行的截屏和测试结果。

dtbs编译正常.png

这个是我现在正在使用的dts文件:
suniv.zip

这个是我按照楼主做的16MB镜像启动的串口界面,在修改dtb的时候出现错误。
none_20200325-2218.jpg

#47 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2020-03-25 02:08:56

麻烦请问,更新了dts之后,使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4
始终无法在arch/arm/boot/dts/下生成suniv-f1c100s-licheepi-nano.dts

为了保证dts是新生成的,我将旧的suniv-f1c100s-licheepi-nano.dts删除了,使用make命令再也无法生成dts了。
折腾了两天了,感谢大神帮助。

#48 全志 SOC » 大家的从github是怎么下载代码的?【求助】 » 2020-03-22 08:55:27

willX
回复: 22

最近在调试f1c200s的驱动代码,从https://github.com/Icenowy/linux.git上下载kernel,正常下载github网页打开都需要1+分钟,下载的时候更痛苦2KB/s,各种失败,代码都下载不下来。实在不行了买了个vps代理下载,好一些36~50KB/s,下载了两个晚上,使用过git GUI、git_Desktop,都下载不下来。在马云上能找到这个git,但是马云系统提示“分支太大,该代码被隐藏”,让我注册为企业用户,我晕,为了下载个代码还需要我去注册一个公司?

       求助各位大佬,现在git hub上的代码,该怎么下载下来呢。有没有什么好的方法介绍一下呢?非常感谢。

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn