共2条
1/1 1 跳转至页
load,SDRAM 程序load到外部SDRAM运行跑飞的问题
问
我用的是自己坐的6711的板子,我把程序load到内部ram的时候程序是正常运行的,当我把整个程序全部load到外部SDRAM的时候,程序一运行就跑飞了,根本连GO MAIN都不行。但是我把同样的程序用在TI6711DSk的时候,load到外部SDRAM可以正常运行,请问这是什么问题,望解答,谢谢!! 答 1: 估计板子的稳定性不好,我的也又这个现象啊 答 2: 看看你load之前有没有初始化sdram如果没有,在启动时的gel文件里加入初始化sdram的代码 答 3: gel文件那里有初始化sdram的代码,能细说一下吗? 答 4: 已经GEL初始化了SDRAM了 我现在发现我的6711的板上的CPLD烧写不同程序会对DSP的外部ram有影响。有些程序行,有些程序不行!DSP与CPLD有八跟数据线直接相连,是不是以后应该在它们之间加总线隔离器啊? 答 5: gel的初始化程序如下:menuitem "My function";
/*---------------------------------------------------------------------------*/
/* EMIF REGISTERS */
/*---------------------------------------------------------------------------*/
#define EMIF_GCTL 0x01800000
#define EMIF_CE1 0x01800004
#define EMIF_CE0 0x01800008
#define EMIF_CE2 0x01800010
#define EMIF_CE3 0x01800014
#define EMIF_SDRAMCTL 0x01800018
#define EMIF_SDRAMTIMING 0x0180001C
#define EMIF_SDRAMEXT 0x01800020
hotmenu Intial_6711()
{
/*---------------------------------------------------------------------------*/
/* EMIF REGISTER VALUES - these should be verified with TARGET hardware */
/*---------------------------------------------------------------------------*/
*(int *)EMIF_GCTL = 0x00003300;/* EMIF global control */
*(int *)EMIF_CE1 = 0xFFFFFF03; /* CE1 - 32-bit asynch access after */
*(int *)EMIF_CE0 = 0xFFFFFF30; //CE0 */
*(int *)EMIF_CE2 = 0xFFFFFF23; // CE2 - 32-bit asynch on
*(int *)EMIF_CE3 = 0xFFFFFF23; // CE3 - 32-bit asynch on
*(int *)EMIF_SDRAMCTL = 0x07126000; //SDRAM control register (100
*(int *)EMIF_SDRAMTIMING = 0x0000061A; //SDRAM Timing
} 答 6: 1\ti\cc\gel下面有gel文件的例子,可以以它们为模板修改,比如DSK6211_6711.gel里的init_emif()就有初始化SDRAM的代码(被注释了的)。
为了使用gel文件,你必须在Code Composer Studio Setup Utility里的Board Properties->Startup GEL File(s)选择你的gel文件。这样的话每当启动CCS时,gel文件的内容会被扫描,里面所有的GEL函数会被装载,然后执行StartUp()函数,由于init_emif()在StartUp()内被调用,SDRAM于是得以初始化
你load到sdram里不成功,很可能是电路问题,也可能是初始值与电路配置不符。以前我也遇到过连焊的错误,改了就好了 答 7: 你地板子是否有于扰
我用的是自己坐的6711的板子,我把程序load到内部ram的时候程序是正常运行的,当我把整个程序全部load到外部SDRAM的时候,程序一运行就跑飞了,根本连GO MAIN都不行。但是我把同样的程序用在TI6711DSk的时候,load到外部SDRAM可以正常运行,请问这是什么问题,望解答,谢谢!! 答 1: 估计板子的稳定性不好,我的也又这个现象啊 答 2: 看看你load之前有没有初始化sdram如果没有,在启动时的gel文件里加入初始化sdram的代码 答 3: gel文件那里有初始化sdram的代码,能细说一下吗? 答 4: 已经GEL初始化了SDRAM了 我现在发现我的6711的板上的CPLD烧写不同程序会对DSP的外部ram有影响。有些程序行,有些程序不行!DSP与CPLD有八跟数据线直接相连,是不是以后应该在它们之间加总线隔离器啊? 答 5: gel的初始化程序如下:menuitem "My function";
/*---------------------------------------------------------------------------*/
/* EMIF REGISTERS */
/*---------------------------------------------------------------------------*/
#define EMIF_GCTL 0x01800000
#define EMIF_CE1 0x01800004
#define EMIF_CE0 0x01800008
#define EMIF_CE2 0x01800010
#define EMIF_CE3 0x01800014
#define EMIF_SDRAMCTL 0x01800018
#define EMIF_SDRAMTIMING 0x0180001C
#define EMIF_SDRAMEXT 0x01800020
hotmenu Intial_6711()
{
/*---------------------------------------------------------------------------*/
/* EMIF REGISTER VALUES - these should be verified with TARGET hardware */
/*---------------------------------------------------------------------------*/
*(int *)EMIF_GCTL = 0x00003300;/* EMIF global control */
*(int *)EMIF_CE1 = 0xFFFFFF03; /* CE1 - 32-bit asynch access after */
*(int *)EMIF_CE0 = 0xFFFFFF30; //CE0 */
*(int *)EMIF_CE2 = 0xFFFFFF23; // CE2 - 32-bit asynch on
*(int *)EMIF_CE3 = 0xFFFFFF23; // CE3 - 32-bit asynch on
*(int *)EMIF_SDRAMCTL = 0x07126000; //SDRAM control register (100
*(int *)EMIF_SDRAMTIMING = 0x0000061A; //SDRAM Timing
} 答 6: 1\ti\cc\gel下面有gel文件的例子,可以以它们为模板修改,比如DSK6211_6711.gel里的init_emif()就有初始化SDRAM的代码(被注释了的)。
为了使用gel文件,你必须在Code Composer Studio Setup Utility里的Board Properties->Startup GEL File(s)选择你的gel文件。这样的话每当启动CCS时,gel文件的内容会被扫描,里面所有的GEL函数会被装载,然后执行StartUp()函数,由于init_emif()在StartUp()内被调用,SDRAM于是得以初始化
你load到sdram里不成功,很可能是电路问题,也可能是初始值与电路配置不符。以前我也遇到过连焊的错误,改了就好了 答 7: 你地板子是否有于扰
共2条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| 以启明云端ESP32P4开发板实现TF卡读写功能被打赏¥28元 | |
| 【分享开发笔记,赚取电动螺丝刀】树莓派5串口UART0配置被打赏¥25元 | |
| 【STM32F103ZET6】17:分享在Rtos项目中断管理的使用经验被打赏¥23元 | |
| 【STM32F103ZET6】16:分享在中断中恢复串口任务,遇到的问题被打赏¥31元 | |
| 在FireBeetle2ESP32-C5上实现温度大气压检测及显示被打赏¥21元 | |
| 【分享开发笔记,赚取电动螺丝刀】SAME51双串口收发配置被打赏¥27元 | |
| Chaos-nano操作系统在手持式VOC检测设备上的应用被打赏¥37元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于在导入第三方库lib时,wchart类型冲突的原因及解决方案被打赏¥30元 | |
| 在FireBeetle2ESP32-C5上实现温湿度检测和显示被打赏¥20元 | |
| 在FireBeetle2ESP32-C5上实现光照强度检测及显示被打赏¥21元 | |
我要赚赏金
