![]() | 在c5402採用boot table的并行根模式模式時,ti的資料上是說時,是將code從數據空間轉移到程序空間,而我們一般把寫在eprom上,那是不是eprom在與dsp介面時,是要經過/ds來片選? |
![]() | 沒錯。 |
![]() | c5402載入根程序時,有四種方法。其中hpi,并行口,i/o口,eprom是通過讀i/o埠地址ffffh的數判斷出來的。 |
![]() | 1) 啟動模式由用戶根據具體情況確定。 |
![]() | TMS320VC5402的BOOTLOADER程序需要自己寫嗎? |
![]() | bootload 程序不需要自己寫,已經固化好了。vc5402晶元的4kROM中有BOOTLODDER 程序,每片都一樣,可以適應多種bootloader 方式。TI的application note有詳細介紹哦。 |
![]() | 最近我在使用HEX500時碰到幾個問題:我創建BOOT TABLE命令是: hex500 port.out -i -boot -bootorg 0x0000 -memwidth 8 -romwidth 8 -o a.hex 跟據資料,在生成的HEX文件中應有08aa關鍵字,但我的hex文件中卻沒有這個關鍵字,這是為什麼哪? |
![]() | 在ASM500中加-V548開關。還有,版本必須是1。2以上。 |
![]() | c32的存儲器中1000h對應的是boot1,810000h對應的是boot2,請問否是用址線解碼將boot1或boot2的一個地址接到外部EPROM的片選信號端,運行時PROM內的程序由此地址載入到RAM中去。 |
![]() | 對的。BOOT ROM使用INT0或INT1腳來判斷使用的是boot1還是boot2。EPROM的數據寬度可以是8位,16位或32位。 |
![]() | 1。將32k的27256映射在外部8000h~~ffffh數據空間,但在內部的 f000h~~feffh處卻有另一部分rom,並由pmst中的drom位控制,那麼,在bootloader階段,pmst未設置,如果cpu讀取該段地址,則會讀到 27256還是內部rom? 2。啟動時,bootloader需要讀取存放在數據空間0ffffh的一個指針, 此指針指向bootloader表,但此指針是在何處設置的? 3。是否bootloader表被cpu讀入后要存放在某個位置,運行時還有另一個運行位置? |
![]() | 1)ROM是對PMST中的DROM置1時才會映射為數據空間的,Reset后默認是0,即on-chip ROM並不會映射數據空間。 2)bootloader是on-chip rom中的啟動引導程序,是固化在ROM中的。 0ffffh處的指針是指向boot tabler。 這個指針是自己燒錄在EPROM中。 |
![]() | 我有一個簡單的CMD文件共HEX500使用: -memwidth 8 產生8位EPROM,INTEL格式。這個CMD很簡單,而且只有.text段,如果在數據段有 常量,只能在開始時用初始化程序將該常數從.text中複製到數據區。不妨試試? |
![]() | 如何生成BOOT TABLE? |
![]() | BOOT TABLE可以用hex500.exe自動生成,但不同系列的DSP參數略有不同。請參考相關資料。最後應該在燒EPROM時手工修改BOOT TABLE指針,即BOOT TABLE的起始位置。我有一個簡單的CMD文件共HEX500使用:(FOR C542) -memwidth 8 產生8位EPROM,INTEL格式。 |
[admin via 研發互助社區 ] DSP bootloader已經有5324次圍觀
http://cocdig.com/docs/show-post-42940.html