熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > S3c2410軟件調試總結

S3c2410軟件調試總結

作者: 時間:2013-12-05 來源:網絡 收藏

初始化串口
串口統一選用UART0,模式采用115200、1bit STOP、No Parity。

最后跳轉到我們自己的應用程序!

附:我得程序所使用的地址空間結構以及MMU中C、B的設置:

Blank Area: RW_FAULT 0x5b000000 ~ 0xffffffff

Sram SFR: NCNB 0x40000000 ~ 0x4affffff

Blank Area: RW_FAULT 0x34000000 ~ 0x3fffffff

Int_Vec, Stack, MTT: CNB 0x33f00000 ~ 0x33ffffff

SDRAM Download: NCNB 0x31000000 ~ 0x33efffff

SDRAM Exec RW: CB 0x30800000 ~ 0x30ffffff

SDRAM Exec R CNB 0x30000000 ~ 0x307fffff

Bank5, FPGA: NCNB 0x28000000 ~ 0x2fffffff

Bank4, FPGA: NCNB 0x20000000 ~ 0x27ffffff

Bank3, Bottom NIC: NCNB 0x18000000 ~ 0x1fffffff

Bank2, Bottom Flash: CNB 0x10000000 ~ 0x17ffffff

Bank1, Bottom Sram: CNB 0x08000000 ~ 0x0fffffff

Bank0, Flash or Sram: CNB 0x00000000 ~ 0x07ffffff


Nor Flash Bootloader
這是我著手寫的第一個程序,我的想法是讓這個程序同時支持通過串口對Nand 和 Nor FLASH的燒寫,如果不進行任何燒寫,那么就跳到Nor Flash的第二個section啟動應用程序,這樣一來,即使脫離JTGA,我也可以使用串口進行盲調。

由于有現成的初始化文件和flash燒寫的示例程序,開發(fā)起來還比較快。當然也遇到了一些問題,一開始連flash的device ID都讀不出來,后來發(fā)現我指針沒有定義成volatile類型,flash的操作時序被編譯器優(yōu)化了;再者,在對Nor Flash進行操作時,bank0在MMU中的類型一定要設為NCNB,這樣比較保險。

遇到最大的問題就是下面的了,一開始我用jtag把程序下載到0x30000000的地方運行,對Nor Flash的燒寫完全正常,但是當把程序下載到Nor Flash中啟動運行后,再對Nor Flash的section 2進行燒寫時,就出現了問題。所幸沒多久我就意識到了問題,將程序放在Nor Flash中運行,同時有對同一片flash進行操作,那么操作時序勢必會被CPU的指令讀取時序所破壞,因此程序必須搬運到SDRAM中運行。

但是啟動地址有必須是零地址,所以我采用了前文提到的scatter文件的方法,將非必要的代碼全部搬到sdram中運行,scf文件格式就是前文中的那個。當然采用了__main的入口,調用了ADS的鏈接庫,讓它幫忙建立程序的運行環(huán)境。

至此,Nor Flash Bootloader可以順暢無憂的實現其功能了。


上一頁 1 2 3 下一頁

關鍵詞: S3c2410 軟件調試

評論


相關推薦

技術專區(qū)

關閉