关于大鑫浪
行业资讯
君正T30开发指南,君正原厂开发资料
君正T30开发指南,君正原厂开发资料,翊杰小编来SDK介绍。ISVP SDK,即软件开发工具包,包括API库、开源源码、文档、Samples 等等。开发者可以通过SDK快速的开展产品功能开发。
以下是ISVP SDK的内容概览图:
SDK层次结构
● Hardware: 硬件层,完成 I/O等具体的硬件功能。
● linux kernel: 内核层。完成基础的系统功能,定义硬件资源
● drivers: ko 模块驱动,可通过 driver 进行硬件操作
● API lib: 接口库,实现硬件功能的抽象,方便于应用层的开发。API 库主要有五部分:
◆ libimp: 多媒体功能库。如H264 编码,JPEG 编码,IVS 和audio 等
◆ libsysutils: 系统功能库。如重启,设置系统时间和电池功能等
◆ libalog: ISVP-SDK 的log实现库
◆ libivs_inf: IVS 算法库,包括越线检测,周界防范等
◆ libmxu: 128 位mxu加速指令算子库
● Application: 应用层。实现功能逻辑等
● Application 推荐使用SDK 库提供的API 及配合drivers 进行开发。对于一些特殊的功能需求,也可以直接调用内核接口进行开发
2.T30必读
2.1 Uboot编译
● Uboot编译流程:
u-boot 可单独编译,不依赖其他代码。T30 u-boot的板机配置文件位于include/configs/isvp_t30.h。默认编译配置文件介绍如表 3-1。
编译步骤
● Uboot 配置文件中常见修改的地方:
1) CONFIG_BOOTARGS,主要修改点是内核启动以后的内存配置,分区大小配置。(注:mem 表示内核启动以后保留内存,rmem表示预留给SDK 的内存(包括ISP模块的内存);两者相加为芯片真实内存大小;具体大小可参考代码)。
2) CONFIG_BOOTCOMMAND,配置uboot 启动执行的命令。例如:norflash 启动模式下添加sd卡启动的命令,"sf probe;sf read 0x80600000 0x40000 0x280000; bootm 0x80600000" 改为 "mmc read 0x80600000 0x1800 0X3000; bootm 0x80600000"。
3) CONFIG_BOOTDELAY,配置uboot的等待时间。
4) 需要添加新的norflash芯片的支持。
5)uboot中添加密码功能:
修改配置文件,修改isvp_t30.h中添加如下内容:
#define CONFIG_AUTOBOOT_KEYED // 必配
#define CONFIG_AUTOBOOT_STOP_STR “123456” //必配,uboot 设置的密码。
#define CONFIG_AUTOBOOT_PromPT “Press xxx in %d second”,bootdelay //选配,uboot 提示信息。
#define CONFIG_AUTOBOOT_DELAY_STR “linux” //选配,
uboot提示信息代码的具体实现在 common/main.c 中 abortboot_keyed(int bootdelay);可以根据自己的需要具体改动。
6)SD卡升级问题
在isvp_t30.h中添加 #define CONFIG_AUTO_UPDATE 定义。具体代码实现在common/cmd_sdupdate.c 中。需要注意点:LOAD_ADDR 表示把 SD 卡上的相应内存加
载到内存的位置。程序中默认设置为0x82000000,由于这个地址位于uboot 的堆上,常见uboot 的堆大小的设置在isvp_t30.h 中 CONFIG_SYS_MALLOC_LEN 宏的配置;所以
这个地址能够被使用的大小将受到堆大小的限制,还有uboot代码中malloc空间的限制。(注意:需要读取较大文件的时候,可以适当增大 CONFIG_SYS_MALLOC_LEN)
7) 编译出的uboot大于限制的大小处理方法
uboot代码中默认限制spl部分为26Kbytes,uboot 部分为214Kbytes;一共240Kbytes 大小的限制。如果uboot 编译生成的u-boot-with-spl.bin 文件大于240Kbytes,则无法启动。
解决方案一:
增加uboot的限制;修改 isvp_t30.h 中 CONFIG_SYS_MONITOR_LEN 宏的定义;同时修改 CONFIG_BOOTARGS 变量中 boot 分区的大小及以后分区的偏移地址。
解决方案二:
如果生成的u-boot-with-spl.bin 超出240Kbytes 较少可以采取压缩 uboot的方式。在 isvp_t30.h 中 修改#undef CONFIG_SPL_LZOP 为 #define CONFIG_SPL_LZOP;然后重新
编译烧录的文件名 u-boot-lzo-with-spl.bin
8) uboot网络问题
默认的isvp配置是包含以太网部分的代码,如果产品在uboot阶段不需要TFTP下载或者 NFS 挂载,可以把以太网部分代码裁剪掉,以便减小uboot。
具体操作:打开isvp_T30.h配置文件,把#define CONFIG_CMD_NET 宏注掉即可。
北京君正芯片代理商,欢迎咨询,还有其他文章精彩分享《君正芯片在IoT细分领域的应用T20Z芯片》《君正的T30ZB芯片》