上海域格ARS平台cat1模块openCPU接口及调试问题
CLM920_RC3(RV3 RE3) 、CLM920_RC5(RV5 RE5)、CLM920_KV3、CLM920_KV5、CLM920_KV7、CLM920_YV9模块调试openCPU一些相关接口和常遇到的问题。
SDK接口及调试问题
cat1模块总存储空间
DDR: 16MB
NOR Flash: 16MB
剩余空间
内存:3-4 M
镜像文件大小上限:6M
文件存储区可用大小:2M(最大可扩展到4.5M,如需调整更大请具体沟通)(一般可用于放证书等)
总存储空间
DDR: 16MB
NOR Flash: 8MB
剩余空间
内存:3-4 M
镜像文件大小上限:3.8M
文件存储区可用大小:1M
UINT8 *mvUsbNetGetMacAddress(void);使用方法:
/* Usb net mac address */
UINT8 UsbNetMacAddress[USB_NET_ETH_ALEN] =
{
0xAC,
0x0C,
0x29,
0xA3,
0x9B,
0x6D
};
取返回值的 前六个UINT8 就可以了
SDK中的项目能否直接导入到ARM DS-5中编译?
——SDK编译需要依赖系统库文件,不能独立编译
是否支持c++ 代码的编译?是否支持文件系统? 把log存成文件
——可以,文件系统很小,8M的最好不要超过300KB,16M的最好不要超过1M
这两个API函数是不是RTC闹钟和RTC唤醒呢,没见到睡眠函数,只看到了一个在睡眠状态中获取电源电压
——休眠只需要设置一个flag,在RRC idle状态下就会自动休眠的,不需要使用睡眠接口,也没这样的接口的,直接进入休眠的,,参照休眠唤醒的demo
KV3 i2c速度可以到多少?
目前SDK的系统是threadx,这个系统没有临界,如果想用临界,只能修改任务优先级吗?
unsigned long intra;
intra = disableInterrupts();
// 临界处理放在这里,但是不能耗时太久,
restoreInterrupts(intra);
OSATaskCreate()创建线程的时候,如果栈是我们用malloc申请的,删除线程的时候,我们是不是需要free申请到的栈空间?
——task执行完了,先free 后free无所谓了,暂没函数可以获取到线程的栈地址 ,可以参照这个代码,去delete task
ThreadX 的tx_开头的,OSA的看不到源码。底层是否增加了中断处理还是?两者有啥区别?
——OSA开头的接口都是基于ThreadX原有接口封装的,直接使用即可,遇到具体问题再沟通
\30-add_at 这个是怎么加AT的
——atcmds at是加在这里的
请问PCM流能支持到多大采样率?PCM流播放 只能支持单声道16k以下的采样率,是硬件codec只能处理这么高的采样率吗?
——是的 最高只能16K
微秒级的延时函数有吗?
#include "utilities.h"
void sdk_us_delay(unsigned int us)
{
Timer0_Switch(1);
DelayInMilliSecond(us); //us delay
Timer0_Switch(0);
}
客户参照15-flash 操作失败是什么原因
——需要改aboot里的分区,请参考手册
i2C是怎么测试的,对应的SCL和SDA是否需要上拉
——如果测试的话直接飞线直连就好 、如果硬件设计有什么考虑的话,和硬件确认好
pool_size = OsaGetDefaultMemPoolFreeSize();
可用这个接口判断内存泄露 跑的时候经常查下
ATs0?000 OK 这个open发送设置1还是0的问题,用串口发送正常
——这个以同一个通道为准,asr的at实现是通过独立的通道,不同通道执行会有不同的结果
OSATaskCreate 这个函数,倒数第三个参数,任务名称,这个和实际功能有关联吗?还是只是在任务查询的时候用得上
——跟实际功能没关联,name和task 绑定的 抓log、解dump可以用的上
KV3有没有支持lcd的接口
——KV3 不支持LCD
cat1模块怎么反初始化GPIO? GpioClearEdgeDetection 调用这个函数清空边沿检测?
——如果需要改变GPIO配置,,可以再次初始化下 ,比如gpio 10 ,第一次设置了中断,如果不想用中断了,直接再次设置GPIO输出,就可以,GpioClearEdgeDetection 这个清空函数,是清空中断相关的
这个激活中断函数执行一次,相当对应的函数调用一次对吗?
———是的,软中断,函数里只能用来触发msgQ或者flag转发到task中处理,不能直接在函数中做可能耗时的处理
cat1 SDK编译,asr那边是不是出了不需要ds5的方案了?
——没有,sdk编译必须要ds5,如果单独编译lib,可以使用其他编译器编译cortex-r5平台的库即可
其它一些SDK接口及调试问题可看上一篇文章:https://blog.csdn.net/weixin_48384104/article/details/117167864