This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: AM4379, AM3517

最近在做个项目,用了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软件包中的源码。