• DSP5509的XF实验-第一篇


    1. 使用大道科技的EASY-DSP5509开发板,测试第一个例程,DSP_easy5509Code-Easy5509EX01_XFXF

    2. 直接编译,报出错误,在Problems窗口错误指示

    Description Resource Path Location Type
    #16004 file "E:/Debug/Easy5509/EX01_XF/Debug/XF.obj" has a XF C/C++ Problem

    在console窗口报出的错误如下:

    fatal error #16004: file "E:/Debug/Easy5509/EX01_XF/Debug/XF.obj" has a
    Tag_Memory_Model attribute value of "1" that is different than one
    previously seen ("2"); combining incompatible files

    其中DSP5000系列,有2个库,运行时支持库rts5xxx.lib和芯片支持库csl5xxx.lib,网上的说法,上面的库是老版本的名字,需要用新版本的

    3. 找到原来工程,在其他工程拷贝一个到 DSP_easy5509Code-Easy5509EX08_USB ts55x.lib,编译通过,但是用CCS安装目录下的编译不通过

    4. 创建一个ccxml文件

    5. 进入debug模式,发现连接不上,报个错误,后来发现这个板子有启动模式,改到USB模式,烧写成功。

    6. 分析下硬件,XF这个引脚什么用途?

    XF(External flag output)的作用:  在多处理器结构中,利用 XF向其它处理器发送信号; 或者被用作通用输出脚。  

    实验内容:  测试 XF 引脚信号    “SSBX  XF”指令将 XF 脚输出置为高电平,“RSBX  XF”则将 XF输出置低。

    7. 看下代码,调用汇编指令 asm("cmd"); 比较简单

     1 main()
     2 {
     3     CLK_init();                    // 初始化DSP运行时钟                
     4     while(1)
     5     {           
     6             asm(" SSBX XF");         // 
     7             Delay(256);            // 延时        
     8             asm(" RSBX XF");        // 
     9             Delay(256);            // 延时
    10     }
    11 }

    8. 时钟初始化函数,直接向时钟配置寄存器写值,难道没函数库的吗?

    1 void CLK_init()
    2 {
    3    ioport unsigned int *clkmd;
    4    clkmd=(unsigned int *)0x1c00;  //地址
    5    *clkmd =0x21f3;    // 晶振12Hz,9Hz=0x21f3;// 144MHz=0x2613
    6 }

    9. 问题总结,csl和rts函数库的API说明文档在哪里?DSP5509为啥要用外部EEPROM下载程序,内部没空间?

    10. C55xxCSL.exe芯片支持库应该是要安装的,找到它的API文档TMS320C55x Chip Support Library API Reference Guide (Rev. J).pdf,不过RTS的还没找到

    11. CMD文件,感觉比较重要,暂时还看不懂

     1 -w
     2 -stack 500
     3 -sysstack 500
     4 -l rts55x.lib
     5 
     6 MEMORY 
     7 {
     8     DARAM:    o=0x100,    l=0x7f00
     9     VECT :  o=0x8000,    l=0x100
    10     DARAM2: o=0x8100,    l=0x7f00
    11     SARAM:  o=0x10000,    l=0x30000
    12     SDRAM:    o=0x40000,    l=0x3e0000
    13 }
    14 
    15 SECTIONS
    16 {
    17     .text:    {} > DARAM 
    18     .vectors: {} > VECT 
    19     .trcinit: {} > DARAM 
    20     .gblinit: {} > DARAM 
    21      frt:     {} > DARAM 
    22     .cinit:   {} > DARAM 
    23     .pinit:   {} > DARAM 
    24     .sysinit: {} > DARAM 
    25     .bss:     {} > DARAM2 
    26     .far:     {} > DARAM2 
    27     .const:   {} > DARAM2 
    28     .switch:  {} > DARAM2 
    29     .sysmem:  {} > DARAM2 
    30     .cio:     {} > DARAM2 
    31     .MEM$obj: {} > DARAM2 
    32     .sysheap: {} > DARAM2 
    33     .sysstack {} > DARAM2 
    34     .stack:   {} > DARAM2
    35 }
  • 相关阅读:
    chown更改文件和目录的所有者
    常量指针和指向常量的指针
    声明,有人破解我的mmsplayer,声称开源的mms
    声明,有人破解我的mmsplayer,声称开源的mms
    慎用mysql的utf8unicode
    慎用mysql的utf8unicode
    在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
    skia 生成 vs2008工程
    mmsPlayer 2.0 将开源java部分
    skia 生成 vs2008工程
  • 原文地址:https://www.cnblogs.com/429512065qhq/p/8119819.html
Copyright © 2020-2023  润新知