参考gel文件中的配置,完成arm的引导和初始化
打开OMAPL138平台的Starterware目录下GPIO_LED工程,添加以下初始化代码所需的宏定义
![](https://img.haomeiwen.com/i10789815/0fe8faf68752ef55.png)
#define PSC0_BASE 0x01C10000
#define LPSC_DSP 15
#define PSC_TIMEOUT 200
#define PSC0_MDCTL (PSC0_BASE+0xA00)
#define PSC0_MDSTAT (PSC0_BASE+0x800)
#define PSC0_PTCMD *(unsigned int*)(PSC0_BASE + 0x120)
#define PSC0_PTSTAT *(unsigned int*)(PSC0_BASE + 0x128)
找到GEL文件图中初始化的函数定义:
![](https://img.haomeiwen.com/i10789815/59bf834196f55d65.png)
将图中的代码复制到工程源码中,并且屏蔽两处“ GEL_TextOut ”的打印行,如下图:
![](https://img.haomeiwen.com/i10789815/5aa024b7e216724b.png)
继续定义DSP的初始化wake_dsp函数,设定引导地址和调用以上初始化函数。添加以下代码:
static void wake_dsp()
{
*(volatile unsigned int *)(0x01C14044) = 0x11800000;
PSC0_LPSC_enableCore(1,LPSC_DSP);
}
![](https://img.haomeiwen.com/i10789815/4806a6541caeeca4.png)
在main主函数中,调用wake_dsp()
![](https://img.haomeiwen.com/i10789815/6b411207192e4ee2.png)
Rebuild重新编译。
![](https://img.haomeiwen.com/i10789815/e2ae348eb22006a9.png)
修改DSP裸机工程的cmd文件入口地址
以控制核心板LED的Timer工程为例,修改cmd文件的程序入口。
![](https://img.haomeiwen.com/i10789815/5aa9c733978f7ca4.png)
![](https://img.haomeiwen.com/i10789815/9fd57640175f90af.png)
注意,DSP和ARM的内存空间,不可以重叠冲突,建议一个使用DDR,另一个使用SHRAM,如图所示:
![](https://img.haomeiwen.com/i10789815/3b8b544d5a04ac8e.png)
![](https://img.haomeiwen.com/i10789815/c282f63c556439d0.png)
重新编译Timer工程,生成.out文件;
![](https://img.haomeiwen.com/i10789815/d61105a63773409e.png)
打开AIS生成工具AISgen_d800k008.exe
![](https://img.haomeiwen.com/i10789815/1b0301be744e2c96.png)
选择加载AISgen_Boot6748_on138_456M_config.cfg配置文件。
![](https://img.haomeiwen.com/i10789815/9034032bd644d6fd.png)
点击"+",选择步骤一,生成的arm端裸机二进制可执行文件GPIO_LED.out
![](https://img.haomeiwen.com/i10789815/03e30a1360f2282f.png)
![](https://img.haomeiwen.com/i10789815/8e22e23985ef59f7.png)
选择对应的生成路径(非中文路径即可)。
![](https://img.haomeiwen.com/i10789815/3d0002f539f3c476.png)
点击Generate AIS生成.ais可执行文件。
![](https://img.haomeiwen.com/i10789815/1f60e7af8558f3fb.png)
连接开发板和仿真器,在arm核加载nandwrite.out文件,擦除flash后,烧写test_a.bin文件。
![](https://img.haomeiwen.com/i10789815/ca305244bf27e4af.png)
重新上电,拨码开关改成从nand flash启动,底板GPIO由ARM控制,核心板LED由DSP控制。
ARM裸机工程,DSP裸机工程烧写,测试成功。
网友评论