关于大鑫浪

首页关于大鑫浪新闻资讯行业资讯

君正T30开发指南,君正原厂开发资料

来源:翊杰芯片代理商|作者:小鑫|发布时间:2020-04-21 10:42:43

    君正T30开发指南,君正原厂开发资料,翊杰小编来SDK介绍。ISVP SDK,即软件开发工具包,包括API库、开源源码、文档、Samples 等等。开发者可以通过SDK快速的开展产品功能开发。

以下是ISVP SDK的内容概览图:

君正T30

SDK层次结构

君正T30

● 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。

君正T30

编译步骤

 

首先:$ MAKE distclean清除旧配置
第二步:$ make isvp_t30_xxx根据相应芯片,编译对应的uboot,生成对应的u boot-with-spl.bin
● 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芯片

 

上一篇

下一篇

返回列表
在线咨询关于大鑫浪产品联系我们