共2条
1/1 1 跳转至页
2407A 有请版主和各位,请教一个 2407A 硬件设计方面的问题
问
请版主大人和各位大侠给点意见,先谢谢了!
具体现象描述如下:
新制作的实验板一块,外扩一片 64K*16 SRAM(61LV6416)作仿真程序区(PS、RD、WE 作控制信号),一片 32K*16 SRAM(61LV3216)作数据区(DS、RD、WE 作控制信号)。制作完成后,可以通过 JTAG 将程序写入 DSP 芯片,程序运行正常(运行结果通过232口发送到PC机)。
但是在仿真时却出现了问题,进入 CCS 和下载程序都没有问题,也没有报错。但是将程序 LOAD 到片外 RAM 后,在汇编窗口中只能看到部分程序(代码不完整),运行不起来(程序下载到买来的开发板上,运行正常)。
经仔细测量PCB线路连接,可以确认没有连接错误。MP/MC 模式设置无误。RESET 管脚没有干扰信号。应该上拉的管脚(ENA_144、BOOT_EN、VIS_OE、BIO)均已上拉。芯片供电 3.3V 非常干净(TPS7333Q)。
本人原先有较多的8位单片机设计经验,第一次使用DSP。为了稳妥起见,扩展 SRAM 没有采用片外逻辑译码方式,而是直接采用 DSP 芯片的控制管脚进行读写控制。
修改.CMD 文件,将程序 LOAD 到不同的 SRAM 区域,都无法仿真。实在是费解?所用的 CCS 软件是随仿真器一起来的。
是不是因为PCB布线的时候太讲究好看了,DSP 的地址线和数据线都有许多较近距离的平行线(线宽10mil,中心间距20-25mil),造成高速读写时驱动的容抗较大? 买了一片瑞泰创新的开发板,布线看上去比较乱,像是自动布线的结果,但下载、仿真都很正常。
仿真所用的 .CMD 文件 和中断向量表 .asm 文件如下:
.CMD 文件:
-stack 0x200
MEMORY
{
PAGE 0:
VECTS : origin = 0x0000, length = 0x0040
CODES : origin = 0x0044, length = 0xF000
PAGE 1:
B0B1 : origin = 0x0200, length = 0x0200
B2 : origin = 0x0060, length = 0x0020
SARAM : origin = 0x0800, length = 0x0800
EXRAM : origin = 0x8000, length = 0x8000
}
SECTIONS
{
.vectors : load = VECTS PAGE 0
.text : load = CODES PAGE 0
.cinit : load = CODES PAGE 0
.data : load = SARAM PAGE 1
.bss : load = SARAM PAGE 1
.const : load = SARAM PAGE 1
.switch : load = CODES PAGE 0
.stack : load = B0B1 PAGE 1
.system : load = SARAM PAGE 1
}
.asm 文件
.ref _c_int0
.ref _int1,_int2,_int3,_int4,_int5,_int6
.sect ".vectors"
RSVECT B _c_int0
INT1 B _int1
INT2 B _int2
INT3 B _int3
INT4 B _int4
INT5 B _int5
INT6 B _int6
以上两个文件都是从我所读的资料上整理得来的,应该是最常用的形式。
答 1: 把问题说清楚一点!制作完成后,可以通过 JTAG 将程序写入 DSP 芯片,程序运行正常(运行结果通过232口发送到PC机)。
但是在仿真时却出现了问题,进入 CCS 和下载程序都没有问题,也没有报错
你的串口通信是不是脱机运行,也就是说能把程序烧写到片内程序存储器中吗? 答 2: 呵呵,程序不超过32k字,可以采用一片61LV6416就够啦! 答 3: 接 yang96381 的答复是先写好了程序,在买来的开发板上调试通过了。因为在自制的板子上仿真通不过,才想到将程序写入 Flash 试一下的。
没想到写入后运行时一切正常,怀疑外扩 SRAM 部分有问题,但是我只用了 PS、DS、RD、WE 这4根控制信号线,外加地址线、数据线。本人虽然没有用过 DSP 但也做过不少项目,熟悉MCS51、AVR、PIC16 等系列单片机的应用技术,而且很有耐心做 Debug 工作。
这次的现象还没有想清原因?相信大家在这个领域里一定有许多经验,是否有过类似的经历,能够给提点一下! 答 4: 再顶一下再顶一下 答 5: 仿真时有啥提示和现象?建议把61LV6416的引脚再仔细焊一下,你的板子功耗大吗?
外围电路驱动负载能力是否够用?仿真时可以用示波器观察一下61LV6416的
控制引脚. 答 6: 自己的问题只有自己能解决一般我在论坛上发帖没人能帮忙,最后都是自己解决的.
除非问题比较简单或有代表性.
也不是说别人不管,确实有的问题一两句话说不明白.
这个问题我也在关注,因为我也要做2407的板子了,上面带RAM. 答 7: 还有仿真时,mp/-mc引脚需接高电平! 答 8: 看看硬件你在view-memory-program空间下依次从0000h-ffffh抽查,随意改写某个地址单元的数据,刷新后,看有没有异常,如发现写的内容不对或其他地址内容变化了这证明程序ram有问题,检查一下焊接在试试,总之调试是先硬件后软件
请版主大人和各位大侠给点意见,先谢谢了!
具体现象描述如下:
新制作的实验板一块,外扩一片 64K*16 SRAM(61LV6416)作仿真程序区(PS、RD、WE 作控制信号),一片 32K*16 SRAM(61LV3216)作数据区(DS、RD、WE 作控制信号)。制作完成后,可以通过 JTAG 将程序写入 DSP 芯片,程序运行正常(运行结果通过232口发送到PC机)。
但是在仿真时却出现了问题,进入 CCS 和下载程序都没有问题,也没有报错。但是将程序 LOAD 到片外 RAM 后,在汇编窗口中只能看到部分程序(代码不完整),运行不起来(程序下载到买来的开发板上,运行正常)。
经仔细测量PCB线路连接,可以确认没有连接错误。MP/MC 模式设置无误。RESET 管脚没有干扰信号。应该上拉的管脚(ENA_144、BOOT_EN、VIS_OE、BIO)均已上拉。芯片供电 3.3V 非常干净(TPS7333Q)。
本人原先有较多的8位单片机设计经验,第一次使用DSP。为了稳妥起见,扩展 SRAM 没有采用片外逻辑译码方式,而是直接采用 DSP 芯片的控制管脚进行读写控制。
修改.CMD 文件,将程序 LOAD 到不同的 SRAM 区域,都无法仿真。实在是费解?所用的 CCS 软件是随仿真器一起来的。
是不是因为PCB布线的时候太讲究好看了,DSP 的地址线和数据线都有许多较近距离的平行线(线宽10mil,中心间距20-25mil),造成高速读写时驱动的容抗较大? 买了一片瑞泰创新的开发板,布线看上去比较乱,像是自动布线的结果,但下载、仿真都很正常。
仿真所用的 .CMD 文件 和中断向量表 .asm 文件如下:
.CMD 文件:
-stack 0x200
MEMORY
{
PAGE 0:
VECTS : origin = 0x0000, length = 0x0040
CODES : origin = 0x0044, length = 0xF000
PAGE 1:
B0B1 : origin = 0x0200, length = 0x0200
B2 : origin = 0x0060, length = 0x0020
SARAM : origin = 0x0800, length = 0x0800
EXRAM : origin = 0x8000, length = 0x8000
}
SECTIONS
{
.vectors : load = VECTS PAGE 0
.text : load = CODES PAGE 0
.cinit : load = CODES PAGE 0
.data : load = SARAM PAGE 1
.bss : load = SARAM PAGE 1
.const : load = SARAM PAGE 1
.switch : load = CODES PAGE 0
.stack : load = B0B1 PAGE 1
.system : load = SARAM PAGE 1
}
.asm 文件
.ref _c_int0
.ref _int1,_int2,_int3,_int4,_int5,_int6
.sect ".vectors"
RSVECT B _c_int0
INT1 B _int1
INT2 B _int2
INT3 B _int3
INT4 B _int4
INT5 B _int5
INT6 B _int6
以上两个文件都是从我所读的资料上整理得来的,应该是最常用的形式。
答 1: 把问题说清楚一点!制作完成后,可以通过 JTAG 将程序写入 DSP 芯片,程序运行正常(运行结果通过232口发送到PC机)。
但是在仿真时却出现了问题,进入 CCS 和下载程序都没有问题,也没有报错
你的串口通信是不是脱机运行,也就是说能把程序烧写到片内程序存储器中吗? 答 2: 呵呵,程序不超过32k字,可以采用一片61LV6416就够啦! 答 3: 接 yang96381 的答复是先写好了程序,在买来的开发板上调试通过了。因为在自制的板子上仿真通不过,才想到将程序写入 Flash 试一下的。
没想到写入后运行时一切正常,怀疑外扩 SRAM 部分有问题,但是我只用了 PS、DS、RD、WE 这4根控制信号线,外加地址线、数据线。本人虽然没有用过 DSP 但也做过不少项目,熟悉MCS51、AVR、PIC16 等系列单片机的应用技术,而且很有耐心做 Debug 工作。
这次的现象还没有想清原因?相信大家在这个领域里一定有许多经验,是否有过类似的经历,能够给提点一下! 答 4: 再顶一下再顶一下 答 5: 仿真时有啥提示和现象?建议把61LV6416的引脚再仔细焊一下,你的板子功耗大吗?
外围电路驱动负载能力是否够用?仿真时可以用示波器观察一下61LV6416的
控制引脚. 答 6: 自己的问题只有自己能解决一般我在论坛上发帖没人能帮忙,最后都是自己解决的.
除非问题比较简单或有代表性.
也不是说别人不管,确实有的问题一两句话说不明白.
这个问题我也在关注,因为我也要做2407的板子了,上面带RAM. 答 7: 还有仿真时,mp/-mc引脚需接高电平! 答 8: 看看硬件你在view-memory-program空间下依次从0000h-ffffh抽查,随意改写某个地址单元的数据,刷新后,看有没有异常,如发现写的内容不对或其他地址内容变化了这证明程序ram有问题,检查一下焊接在试试,总之调试是先硬件后软件
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |