C6748连载1:开发环境搭建——点亮第一个灯

[复制链接]
 楼主| 877049204 发表于 2018-12-18 10:40 | 显示全部楼层 |阅读模式
本帖最后由 877049204 于 2018-12-18 10:54 编辑

课题需要选用了C6000系列DSP,购买的创龙的TMS320C6748 Easy-EVM开发板,加上票1700,贼贵啊,比我手机还贵800。

C6748芯片不带Flash。。。内部RAM如下图:


创龙的核心板板载128MbyteDDR2,128MbyteNANA Flash,用仿真器下程序的时候还得专门操作,把程序下到外挂的Flash中

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 877049204 发表于 2018-12-18 11:12 | 显示全部楼层
本帖最后由 877049204 于 2018-12-18 11:19 编辑

从最简单的点灯开始,导入开发例程LED:

C6748内部有两个PRU内核,但是我还没有装PRU的编译器,暂时连不上。
连接仿真器后,点击小甲壳虫下载程序,发现报错了:DSP 0xC0000000 do not match。。。。
看起来好像是程序启动地址不对,看看CMD文件:
  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*              OMAPL138 及 DSP C6748 内存空间分配定义                      */
  4. /*                                                                          */
  5. /*              2014年05月16日                                               */
  6. /*                                                                          */
  7. /****************************************************************************/

  8. MEMORY
  9. {
  10. #ifdef DSP_CORE
  11. /****************************************************************************/
  12. /*                                                                          */
  13. /*              DSP 专有内存区域                                            */
  14. /*                                                                          */
  15. /****************************************************************************/
  16.     DSPL2ROM     o = 0x00700000  l = 0x00100000  /* 1MB   L2 DSP 本地 ROM (DSP ROM Bootloader) */
  17.     DSPL2RAM     o = 0x00800000  l = 0x00040000  /* 256kB L2 DSP 本地 RAM */
  18.     DSPL1PRAM    o = 0x00E00000  l = 0x00008000  /* 32kB  L1 DSP 本地程序 RAM */
  19.     DSPL1DRAM    o = 0x00F00000  l = 0x00008000  /* 32kB  L1 DSP 本地数据 RAM */
  20. #endif

  21. /****************************************************************************/
  22. /*                                                                          */
  23. /*              公共内存区域                                                */
  24. /*                                                                          */
  25. /****************************************************************************/
  26.     SHDSPL2ROM   o = 0x11700000  l = 0x00100000  /* 1MB   L2 共享内置 ROM */
  27.     SHDSPL2RAM   o = 0x11800000  l = 0x00040000  /* 256KB L2 共享内置 RAM */
  28.     SHDSPL1PRAM  o = 0x11E00000  l = 0x00008000  /* 32KB  L1 共享内置程序 RAM */
  29.     SHDSPL1DRAM  o = 0x11F00000  l = 0x00008000  /* 32KB  L1 共享内置数据 RAM */

  30.     EMIFACS0     o = 0x40000000  l = 0x20000000  /* 512MB SDRAM (CS0) */
  31.     EMIFACS2     o = 0x60000000  l = 0x02000000  /* 32MB  异步          (CS2) */
  32.     EMIFACS3     o = 0x62000000  l = 0x02000000  /* 32MB  异步          (CS3) */
  33.     EMIFACS4     o = 0x64000000  l = 0x02000000  /* 32MB  异步          (CS4) */
  34.     EMIFACS5     o = 0x66000000  l = 0x02000000  /* 32MB  异步          (CS5) */

  35.     SHRAM        o = 0x80000000  l = 0x00020000  /* 128KB 共享 RAM */
  36.     DDR2         o = 0xC0001000  l = 0x08000000  /* 128MB  DDR2 分配给 DSP */
  37.         
  38. <font color="red">        EntryPoint   o = 0xC0000000  l = 0x00000800  /* 2 KB  C 语言入口点 */</font>
  39.         Vector       o = 0xC0000800  l = 0x00000800  /* 2 KB  中断向量表 */

  40. /****************************************************************************/
  41. /*                                                                          */
  42. /*              外设内存区域                                                */
  43. /*                                                                          */
  44. /****************************************************************************/
  45.     SYSCFG0      o = 0x01C14000  l = 0x00001000  /* 4K    SYSCFG0 */
  46.     uPP          o = 0x01E16000  l = 0x00001000  /* 4K    uPP */
  47.     GPIO         o = 0x01E26000  l = 0x00001000  /* 4K    GPIO */
  48.     McBSP1       o = 0x01D11000  l = 0x00000800  /* 2K    McBSP1 */

  49. #ifndef DSP_CORE
  50. /****************************************************************************/
  51. /*                                                                          */
  52. /*              ARM 专有内存区域                                            */
  53. /*                                                                          */
  54. /****************************************************************************/
  55.     ARMROM       o = 0xFFFD0000  l = 0x00010000  /* 64kB  ARM 本地 ROM (ARM ROM Bootloader) */
  56.     ARMRAM       o = 0xFFFF0000  l = 0x00002000  /* 8kB   ARM 本地 RAM */
  57. #endif
  58. }

  59. SECTIONS
  60. {
  61. <font color="red">    .text:_c_int00        >  EntryPoint                                  /* 可执行代码 C 程序入口点*/</font>
  62.     .text                        >  DDR2                                      /* 可执行代码 */
  63.     .stack                        >  DDR2                                      /* 软件系统栈 */
  64.     .bss                        >  DDR2                                      /* 未初始化全局及静态变量 */
  65.     .cio                        >  DDR2                      /* C 输入输出缓存 */
  66.     ".vectors"                >  Vector                                     /* 中断向量表 */
  67.     .const                        >  DDR2                      /* 常量 */
  68.     .data                        >  DDR2                      /* 已初始化全局及静态变量 */
  69.     .switch                        >  DDR2                      /* 跳转表 */
  70.     .sysmem                        >  DDR2                      /* 动态内存分配区域 */
  71.     .far                        >  DDR2                      /* 远程全局及静态变量 */
  72.     .args                        >  DDR2
  73.     .ppinfo                        >  DDR2
  74.     .ppdata                        >  DDR2

  75.     /* TI-ABI 或 COFF */
  76.     .pinit          >  DDR2                      /* C++ 结构表 */
  77.     .cinit          >  DDR2                      /* 初始化表 */

  78.     /* EABI */
  79.     .binit                        >  DDR2
  80.     .init_array                >  DDR2
  81.     .neardata                >  DDR2
  82.     .fardata                >  DDR2
  83.     .rodata         >  DDR2
  84.     .c6xabi.exidx        >  DDR2
  85.     .c6xabi.extab        >  DDR2

  86.         /* DDR2 */
  87.     .buffer                        >  DDR2

  88.         /* 外设  */
  89.         .Reg_SYSCFG0        >  SYSCFG0
  90.         .Reg_uPP                >  uPP
  91.         .Reg_GPIO                >  GPIO
  92.         .Reg_McBSP1                >  McBSP1
  93. }
程序的入口地址在DDR2上,但是我还没有初始化DDR2,不能使用它
        EntryPoint   o = 0xC0000000  l = 0x00000800  /* 2 KB  C 语言入口点 */

解决方法是使用GEL文件,又长知识了


在仿真器配置里面导入GEL初始化文件,初始化PLL、DDR2、PSC等等,这样在程序中就不用初始化时钟了,和以前的开发完全不一样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 877049204 发表于 2018-12-18 11:18 | 显示全部楼层
解决问题,继续点甲壳虫,可以看到4个LED哗啦啦的亮

可以看到C674X正在running,PRU0和PRU1都没有连接

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 877049204 发表于 2018-12-18 11:20 | 显示全部楼层
这只是在RAM里面跑,断电后就GG了。
得把程序下到FLASH里,下一期再讲,因为我也不会
zhangmangui 发表于 2018-12-18 22:18 | 显示全部楼层
跟随学习    你这是哪家的板卡
zhangmangui 发表于 2018-12-18 22:20 | 显示全部楼层
不好意思  看到了    是创龙的    我这边有创龙的一本书   6748的 比较基础
 楼主| 877049204 发表于 2018-12-19 14:49 | 显示全部楼层
zhangmangui 发表于 2018-12-18 22:20
不好意思  看到了    是创龙的    我这边有创龙的一本书   6748的 比较基础

我也买了一本,TMS320C6748原理与实践,创龙写的,比较基础,我刚学习,以后和版主交流哈
zhangmangui 发表于 2018-12-19 23:00 | 显示全部楼层
877049204 发表于 2018-12-19 14:49
我也买了一本,TMS320C6748原理与实践,创龙写的,比较基础,我刚学习,以后和版主交流哈 ...

好的 真心希望你**好好学习   多多分享
Tronlong创龙 发表于 2019-6-14 17:13 | 显示全部楼层
zhangmangui 发表于 2018-12-18 22:18
跟随学习    你这是哪家的板卡

创龙电子的
quickman 发表于 2019-6-16 17:10 | 显示全部楼层
谢谢楼主分享的资料了。            
jstgotodo 发表于 2019-6-16 17:10 | 显示全部楼层
ti的dsp芯片tms320c6000系列芯片cpu内部有哪?
iamaiqiyi 发表于 2019-6-16 17:10 | 显示全部楼层
C6000偏向图像处理和算法   
dzfansman 发表于 2019-6-16 17:10 | 显示全部楼层
影响力最大的就是TI公司的TMS320系列的DSP芯片  
sanxingnote7 发表于 2019-6-16 17:11 | 显示全部楼层
DSP C6000系列的寻址方式有哪些  
backlugin 发表于 2019-6-16 17:11 | 显示全部楼层
正在用德州仪器(TI)C5000        
sdCAD 发表于 2019-6-16 17:11 | 显示全部楼层
用DSP-C6000系列实现图像处理  
fengm 发表于 2019-6-16 17:12 | 显示全部楼层
学另一种系列的DSP会很难吗?  
updownq 发表于 2019-6-16 17:12 | 显示全部楼层
做DSP程序开发 不知道有那些对口的好公司呢?  
sanfuzi 发表于 2019-6-16 17:12 | 显示全部楼层
想用DSP做音频方面的处理  
quickman 发表于 2019-6-16 17:13 | 显示全部楼层
怎么添加c6000系列dsp到ccs4.0  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1836

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部