君正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。
君正X2100 FreeRTOS开发记录相关推荐
- 君正X系列开发1---系统编译
整体编译执行下列命令: source build/envsetup.sh lunch make u-boot编译使用 在u-boot目录下有一个文件boards.cfg 里面有各个板子的配置信息 gr ...
- 君正4750开发板使用日记2-Linux环境搭建与内核编译
为什么80%的码农都做不了架构师?>>> Linux环境搭建与内核编译 上一篇中把4750开发板与PC的硬件连通了,这一篇记录的是基本的Linux环境的搭建.其实官方文档已经比 ...
- 君正Zeratul开发(4)——图像效果调试
前言 目前而言,君正设备的isp 图像效果还是君正的工程师在负责开发调试,如果需要添加一款新的摄像头,一般也是将新摄像头的驱动,从ISVP 版本移植到Zeratul平台.这里主要介绍:(1)摄像头 ...
- 君正x2000开发板usb口读取文件
## 标题君正x2000开发板USB口读取文件 (由于word文档无法上传,只复制了文字,操作过程中的图片就不做展示) 开发要求 1.外设的tf卡存储录像抓图文件需要通过USB口在电脑上进行查看.拷贝 ...
- 君正Zeratul开发(6)——为什么禁止使用system
(一)前言 在君正Zeratul_T31_开发指南中明确规范,禁止在主程序中使用system 等系统调用接口函数,需要在另外的一个守护进程中去实现system函数的功能.这里有两个问题:1.syst ...
- 君正Zeratul开发(5)——快速启动优化
前言: Camera 需要快速启动, 以第一时间抓拍到图像,君正官方给的第一帧图像是200ms,实际应用中时间会长不少. 1.尽快运行主程序 主程序应该放置在 rootfs 中并第一时间加载运行 ...
- 君正Zeratul开发(2)——uboot启动分析
前言 boot启动一般分为两个阶段,君正设备的第一阶段uboot spl 程序没有开源,用户编译的是第二阶段的boot,最后将两个阶段的boot合并到一起,写入到boot分区中去,boot分区如 ...
- 尴尬君正,是如何被“创新”带到沟里去的?
作为创业板的一个标杆,北京君正(300223)上市快三年了.在上市三年之际,重新回顾梳理这样一家集"自主创新""高新科技企业""国产CPU" ...
- adb shell 调试君正板子
今天接到一个任务,把现有的代码移植到君正的开发板上. 下面就开始吧. 1 首先,代码移植到君正上,需要交叉编译环境. 需求方已经提供了交叉编译的tar包,直接在linux上解压缩. 然后 指定 CC= ...
最新文章
- 2017qcon大会的一点想法(安全人才如何不被淘汰?)
- Selenium3自动化测试——2. python编写简单自测代码
- linux c 多线程socket编程,Linux多线程socket编程一些心得
- oracle10g配置失败6,Oracle10g DataGuard中ORA-16026错误解决-入门基础-Oracle频道-中国IT实验室...
- oracle group by sql,Oracle SQL GROUP BY“不是GROUP BY表达式”的帮助
- 一个好习惯可以让自己享受一辈子
- oracle rollback 观察时间
- 编程模式(schema) —— 表驱动法(table-driven)
- Java集合之map 集合使用
- 【转】Android业务组件化之URL Scheme使用
- 快速突破面试算法之图篇
- android手机鼠标,安卓手机变鼠标以及手机控制电脑图文教程
- 在计算机桌面中选择了隐藏如何显示,怎么把隐藏电脑桌面游戏找到
- oracle没有网卡驱动,联想台式机网卡驱动,手把手教你联想台式机网卡驱动
- 关于Win10系统下VIA HD AUDIO威盛声卡没声音问题 - 有效解决办法
- JDK 11 下载安装,配置idea
- 最小二乘支持向量机(LSSVM)详解
- 2022-ISCTF-部分MISC和PWN
- java地图自动定位_如何实现高德地图实现自动定位
- 计算机硬盘的存储时间,存储访问时间