• 已解决 72750 个问题
  • 已帮助 5976 位优秀工程师

DSP 2812 疑问

大头 2013-09-23 浏览量:1193
DSP单机上电引导顺序(微计算机模式(XMPNMC= 0)):
1、上电复位
2、执行iniboot程序
3、根据GPIOF4(SCITXDA)、GPIOF12(MDXA)、GPIOF3(SPISTEA)、GPIOF2(SPICLK)的状态选择boot模式,假设选择了flash。
GPIOF4(SCITXDA)                       GPIOF12(MDXA)                                   GPIOF3(SPISTEA)                            GPIOF2(SPICLK)                         boot模式
          1                                                     X                                                               X                                                           X                                              flash
         0                                                     0                                                                1                                                            0                                             H0 SARAM
        0                                                      0                                                                0                                                            1                                             OTP

4、运行codestart程序
5、运行_c_int00程序
6、运行main函数
疑问:
1、CPU如何判断引脚GPIOF4(SCITXDA)、GPIOF12(MDXA)、GPIOF3(SPISTEA)、GPIOF2(SPICLK)的 状态?通过查看寄存器GPIOFDAT的相应的位吗?另外,如何在DSP刚上电的时候就改变这些引脚的值呢?我觉得通过软件肯定是行不通的,因为我们的程 序是在选择boot模式之后才开始运行的,在这个阶段(选择boot模式阶段),寄存器GPIOFDAT的值都是默认值,只能通过外围电路强行拉低或拉 高。请问是这样的吗?
2、codestart程序是只在DSP下线运行时才需要,还是在在线仿真模式时也是需要的呢?我看TI的官方例程只是在工程中添加了一个 DSP281x_CodeStartBranch.asm文件,然后再F2812.cmd文件中把该段链接到一个单独的段,load到对应的地址,源程序 的其他地方没就没看到codestart程序。是只要把codestart程序load到对应的地址,带DSP上电引导后,就会直接运行了是吧?还要不要 再在CCS中设置什么?
3、TI官方例程中有两个cmd文件:F2812.cmd和DSP281x_Headers_nonBIOS.cmd,这个哪个是SRAM.cmd?哪个 是FLASH.cmd?看名字F2812.cmd应该是SRAM.cmd,DSP281x_Headers_nonBIOS.cmd是 FLASH.cmd。但是看内容又觉得DSP281x_Headers_nonBIOS.cmd是SRAM.cmd,而F2812.cmd是 FLASH.cmd。一次编译只需要一个cmd文件吧?





Dsections.png (18.31 KB, 下载次数: 0)


DSP281x_Headers_nonBIOS.cmd文件中SECTIONS

DSP281x_Headers_nonBIOS.cmd文件中SECTIONS


Dmemory.png (30.03 KB, 下载次数: 0)


DSP281x_Headers_nonBIOS.cmd文件中MEMRORY

DSP281x_Headers_nonBIOS.cmd文件中MEMRORY


Fsections.png (20.8 KB, 下载次数: 0)


F2812.cmd文件中SECTIONS

F2812.cmd文件中SECTIONS


Fmemory.png (33.43 KB, 下载次数: 0)


F2812.cmd文件中MEMRORY

F2812.cmd文件中MEMRORY

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1.这几个IO口的状态就决定了上电后boot加载的地方   这个状态就是外面电平被拉低或拉高   这个也不一定是去读取GPIOFDAT的值  而是CPU硬件决定的
    2.不管在下载到flash中还是在RAM中硬件仿真  codestart都是需要的  你下载到flash中还是可以调到RAM中运行的   上电后有引导码  所以可以直接运行的
    3.cmd你可以添加后打开看看  里面可以看出来是flash还是RAM下的  一次肯定只需要一个cmd的
    • 发布于 2013-09-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5

DSP 2812 疑问