君正X2100 FreeRTOS开发记录

一、SDK源码下载

参考君正官方教程:君正全平台linux源码同步教程(除X1830人脸识别板)_君正x1830_北京君正的博客-CSDN博客

教程中是linux源码的同步教程,需要将路径:

ssh://sz_halley2@119.136.25.25:29418/mirror/linux/manifest

 改为:

ssh://sz_halley2@119.136.25.25:29418/mirror/freertos/manifest

即可同步freertos的源码。

二、编译

1.初始化环境变量,设置编译器到环境变量

cd freertos
source build/envsetup.sh

2.选择配置文件

在..\freertos\configs路径下有各种处理器对应的配置文件,我的硬件是基于X2100+nand,所以选择x2100_nand_defconfig。

make x2100_nand_defconfig

3.编译

make

三、修改配置文件

修改配置⽂件使⽤可视化配置⼯具IConfigTool

1.解压并打开配置工具

IConfigTool配置⼯具在与freertos同级的tools/⽬录下,解压:

cd ..
cd iconfigtool/
tar -zxvf IConfigToolApp.tar.gz

2.运行

cd IConfigToolApp/
./IConfigTool

 注意:需要使用带有Xserver SSH工具,如MobaXterm,如果使用SecureCRT会提示:IConfigTool: cannot connect to X server。

 Config.in 是生成配置界面文件

Config是需要修改的配置文件
点击open进⼊IConfigTool配置⼯具主界⾯。

3.修改配置文件

将console 所用的uart和波特率,这里选择uart2,波特率115200

 修改完成之后点击File,选择save,然后关闭对话框。

4.从新编译

cd ../../../
make x2100_nand_defconfig
make

编译成功之后会生成启动引导文件rtos-with-spl.bin。

四、烧写文件

        可以在windows或linux系统下烧写,我选择在windows下烧写。将..\tools\burntools目录下的cloner-2.5.26-windows_alpha.zip拷贝到windows电脑上。

1.安装驱动

主板上将X2100启动模式设置为USB,然后给主板上电,将USB连接到电脑,如果没有出现usb cloner device,则需要先安装驱动,驱动文件存放在..\cloner-2.5.26-windows_alpha\cloner-win32-driver目录下。

2.烧写

将..\tools\burntools目录下的x2100_sfc_nand_lpddr2_freertos.cfg文件拷贝到..\cloner-2.5.26-windows_alpha\cloner-2.5.26-windows_alpha\configs\x2100中。

进入..\cloner-2.5.26-windows_alpha\cloner-2.5.26-windows_alpha,运行cloner.exe

点击“配置”,

 

 点击“保存”,回到主页面,点击“开始”。

 然后重新插入USB,烧写完成后如下:

 

五、运行

启动之后,uart2会输出如下启动日志:

[0.000000] xburst2 rtos @ Mar 18 2023 17:16:59, epc: 87f5c258
[0.006083] USB Core Release: 3.00a (snpsid=4f54300a)
[0.010690] NonPeriodic TXFIFO size: 512
[0.014235] RXFIFO size: 1096
[0.016836] EPs: 9, dedicated fifos, 3576 entries in SPRAM
[0.022009] vendor init...

六、遇到问题

1.烧录之后不能启动

问题描述:

烧录之后应用不能启动,停留在了uboot阶段,日志如下(串口波特率:3000000):

 从日志可以看出是DDR没有初始化通过,uboot中设置的DDR类型为LDDR3,型号为NK6CL256M16DKX-H1,而实际X2100内部的DDR类型为LPDDR2,型号为M54D5121632A。所以uboot中DDR配置不对。

解决方式:

与厂家FAE联系,重新编译bootloader生成spl文件。freertos的sdk中没有bootloader,需要下载linux的sdk。下载完成之后,先进入freertos目录设置编译器环境变量,然后在进入到linux sdk ..\bootloader\uboot-x2000目录下执行‘make x2100_base_rtos_sfc_nand’指令重新生成spl文件..\bootloader\uboot-x2000\spl\u-boot-spl-pad.bin。将u-boot-spl-pad.bin文件拷贝到..\freertos\xburst2\soc-x2000\spl路径下。修改..\freertos\configs\x2100_nand_defconfig文件,第一行修改如下:

CONFIG_SPL_BIN_FILE=xburst2/soc-x2000/spl/u-boot-spl-pad.bin

然后重新编译、烧录,即可正常启动。

2.PA00 - PA17设置为高电平时无法输出1.8V

问题描述:

按照厂家FAE描述,当mclk选择PE24时,DVP接口(PA00 - PA17)门限电压为1.8V;当mclk选择PC15时,DVP接口(PA00 - PA17)门限电压为3.3V。但是我电路上VDDIO33_CIM接1.8V,配置文件中sensor的mclk为PE24。程序中无法将PA13置高。

解决方式:

在int camera_mclk_gpio_init(int gpio)函数中

dvp_voltage_sel |= camera_mclk[index].cpm_mclk_voltage;之后
增加
camera_dvp_gpio_voltage(dvp_voltage_sel);

因为dvp_voltage_sel的值为1,所以会设置门限电压为1.8V。

技术交流群:912184327

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火柴棍mcu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值