TI中文支持网
TI专业的中文技术问题搜集分享网站

AM4379移植ucos、烧录flash遇到的问题,求大神支招,谢谢

最近在做个项目,用了AM4379的CPU,开发板自己做的,需要移植ucos系统,一直没有成功,过程中遇到不少问题,求大神支招,谢谢。

使用的开发环境是CCS8.3.1版本,仿真器是XDS100V2,问题如下:

1、TI AM437x有没有移植ucos的官方例程? micrium官网有AM3517的例子和其它芯片的例子,没有AM437x的例子。上面的案例大多是基于IAR开发的,有基于CCS的却又没有CCS工程,没有start.s汇编源码,不知道怎么启动引导进入main函数的。

2、CCS(8.0版本)创建工程的时候,会关联lds文件,自动生成start.s汇编源码。我看sdk软件包里starterware下的ccs工程都没有start.s文件,怎么设置的工程?我修改start.s里面的中断向量,移植ucos的中断向量列表,但是修改后调试就跑不到main函数了。我想参考sdk包里面的源码,在C文件中copy中断向量表,不要.s汇编文件,但是怎么启动引导到main函数呢?如何创建这样的工程?

3、每个中断向量是不是都需要设置一个中断模式,配置中断栈空间?CCS创建的hello world工程,start.s中有中断向量表设置,没看到模式设置和栈设置,源码估计lib化了,哪里可以下载?想参考改一下,自己写实在不会。我想问题应该出在中断设置这里了。第一次搞这种嵌入式项目,小白一个。

4、ucos没有移植成功,就先搞下裸机程序。

在官网下的starterware sdk包,里面有工具out2rprc.exe,可以用来转换bin文件吗?还有1个makehex4bin.exe,两个工具哪个是可行的?

5、可以通过CCS直接将.out程序烧录到flash中吗?有没有教程?

我在网上搜了一下,有的说修改工程的lds(cmd)文件,可以调整out文件是加载到Flash运行,还是加载到RAM中运行,就可以了,这个方法到底可行吗?加载程序到flash中的lds文件哪里可以找到呢?创建工程时自动关联的lds文件都是加载到RAM中的。

6、官网下载的sdk包里有flash_writer工具的源码,但是是对AM335X CPU的,修改一下寄存器的基地址,可以适合AM437x吗?我用这个源码,读取flash的id,总是读出来0x00 00 00,或者是0xff ff ff,flash是winbond w25q64fw或w25q128fw,ID应该是0xEF 60 17 或0xEF 60 18,可能是什么原因呢? 和SPI0的初始化设置有关系吗?SPI0_CLCK/D0/D1/CS0 4个寄存器的初始值

也是参考的SDK软件包中的源码。

yongqing wang:

如果需要RTOS,可以参考TI官方的RTOS,这个RTOS 全面集成与CCS,和UCOS类似

Nancy Wang:

烧写流程参考以下链接:
software-dl.ti.com/…/index_Foundational_Components.html
PSDK:
www.ti.com/…/PROCESSOR-SDK-AM437X

Nancy Wang:

user6130115

5、可以通过CCS直接将.out程序烧录到flash中吗?有没有教程?

我在网上搜了一下,有的说修改工程的lds(cmd)文件,可以调整out文件是加载到Flash运行,还是加载到RAM中运行,就可以了,这个方法到底可行吗?加载程序到flash中的lds文件哪里可以找到呢?创建工程时自动关联的lds文件都是加载到RAM中的。

修改lds中段存放的memory地址。

user6130115:

回复 Nancy Wang:

我试试看,谢谢了。

user6130115:

回复 yongqing wang:

是TI的sys/bios吗?之前创建过工程,搜不到进main函数之前的c源码或汇编代码,官方有跑两个任务的例子都没试成功,就没深究了。

user6130115:

回复 Nancy Wang:

“修改lds中段存放的memory地址。”
—–这个地址应该填成什么呢?是flash存储空间的起始地址吗?

yongqing wang:

回复 user6130115:

是的

Nancy Wang:

回复 user6130115:

是的。

赞(0)
未经允许不得转载:TI中文支持网 » AM4379移植ucos、烧录flash遇到的问题,求大神支招,谢谢
分享到: 更多 (0)