立即注册
查看: 10027|回复: 108

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

 
已绑定手机
已实名认证
发表于 2019-12-26 14:03:51 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1.开发资源介绍
1.1 SDK介绍
ISVP SDK,即软件开发工具包,包括API库、开源源码、文档、Samples 等等。开发者可以通过SDK快速的开展产品功能开发。以下是ISVP SDK的内容概览图:
微信截图_20191226134009.png
1.2 SDK层次结构
微信截图_20191226134102.png
● 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。
微信截图_20191226134525.png

编译步骤
第一步:$ make distclean清除旧配置
第二步:$ make isvp_t30_xxx根据相应芯片,编译对应的uboot,生成对应的uboot-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 宏注掉即可。

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

游客,如果您要查看本帖隐藏内容请回复



已绑定手机
发表于 2019-12-26 15:27:34 | 显示全部楼层 来自 广东省深圳市
:loveliness:感谢大神分享
已绑定手机
发表于 2019-12-26 16:09:57 | 显示全部楼层 来自 广东省深圳市
谢谢大佬,学习下
已绑定手机
已实名认证
发表于 2020-1-6 17:23:29 | 显示全部楼层 来自 广东省深圳市
谢谢分享:loveliness::loveliness::loveliness:
已绑定手机
发表于 2020-1-8 14:30:00 | 显示全部楼层 来自 广东省深圳市
:loveliness::loveliness::loveliness::loveliness::loveliness:
已绑定手机
发表于 2020-1-9 16:57:03 | 显示全部楼层 来自 广东省深圳市
谢谢分享!!
已绑定手机
发表于 2020-1-15 13:43:24 | 显示全部楼层 来自 广东省深圳市
学习,学习!!
已绑定手机
发表于 2020-1-28 18:18:13 | 显示全部楼层 来自 江苏省南京市
DDDDDDDDDD
发表于 2020-3-8 21:29:54 | 显示全部楼层 来自 江苏省南京市

_

感谢楼主分享
发表于 2020-3-23 13:51:44 | 显示全部楼层 来自 广东省深圳市

_

非常不错,大神可以把资料可以发给我吗?支持费用也没有问题
349248322@qq.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
微信客服扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表