還是燒寫,還有讀完一本教材了

看完一本教材了,dsp原理,感覺學習dsp原理關鍵要了解寄存器,像c3000,有28個cpu寄存器,用來計算.19個外圍寄存器,包括控制時鐘/串口/dma.外圍寄存器是映射在存儲器地址的,不像cpu寄存器有自己的名字.
DMA(DirectMemoryAccess,直接內存存取),顧名思義DMA功能就是讓設備可以繞過處理器,直接由內存來讀取資料。
編譯生成的obj和out文件,稱爲coff格式,組織方式是用段的形式.有text/data/bss等.
鏈接器的作用除了鏈接obj文件,還有分配存儲器空間.通過命令MEMORY和SECTION.SECTION可以定義段的讀取位置,運行位置,例如可以從rom讀取text段,而在ram中運行.
hex6x.exe是用來把out文件轉爲16進制編碼的bin文件,使之可以存在flash上面.out文件估計是二進制編碼的,所以轉換後文件小了很多,大概是1/8.
下面是用於hex6x的cmd文件.
NetVideoServer.out
-b
-memwidth  8
-boot
-bootorg 0x90000400
-bootsection .boot_load 0x90000000
ROMS
{
    FLASH:  org = 0x90000000, len = 0x100000, romwidth = 8, files = {NVS.bin}
}
這裏好像flash的地址是0x90000000,而程序中燒到了0x42000000,不知道爲什麼.長度是1M,我的程序運行失敗的原因是不是在這裏呢?

 

EMIF爲外部存儲接口,通過EMIF接口可以靈活地和各種同步或異步存儲器件無縫連接。通過EMIF可以將VC5509A的存儲空間擴展到128 Mbit(SDRAM),存儲空間共被分爲CE0~CE3四個段,每段佔用不同的地址。在EMIF的並行引導模式中,ROM固化的Bootloader程序是以0x200000爲首地址開始加載程序。0x200000即爲CE1空間的首地址,所以Flash必須接在DSP的CE1空間上。在加載時。EMIF的CE1空間已經默認配置成異步靜態隨機存儲器(SRAM)接口,並且在時序上採用了最差情況設置(即最慢訪問速度),充分保證了時間裕量,使得程序代碼順利地加載到DSP的內存中。
Bootloader在引導程序時,程序代碼是以引導表格形式加載的。TMS320VC55x的引導表結構中包括了用戶程序的代碼段和數據段以及相應段在內存中的指定存儲位置,此外還包括了程序人口地址、部分寄存器的配置值、可編程延時時間等信息。若要生成引導表,可用CCS最終編譯生成的,out文件通過CCS自帶的hex55.exe轉換程序得到。將hex55.exe、.out文件、.0cmd文件放在同一個文件夾中,通過DOS命令調用hex55.exe。即可完成.out文件到hex格式的引導表文件的轉化。.CMD文件用於提供引導表的相關配置信息.
下面是用於hex6x的cmd文件.
NetVideoServer.out
-b
-memwidth  8
-boot
-bootorg 0x90000400
-bootsection .boot_load 0x90000000
ROMS
{
    FLASH:  org = 0x90000000, len = 0x100000, romwidth = 8, files = {NVS.bin}
}
大於64k,所以要寫一個二次引導的out文件,然後用hex轉化(得到包含引導表的bin文件),然後拷在flash的前64k。
AT49LV1024的寫操作只能將1變成0,而0變成1必須通過擦除操作進行。所以每次寫Flash之前必須進行片擦除,使存儲單元值變成0xFFFF,才能進行編程。所以,擦出程序要有足夠延時。

二級搬移程序的編寫方法
    TMS320C64x開機只自動加載l KB程序代碼到內部RAM,所以通常要編寫二次搬移程序加載剩餘程序代碼。二級搬移程序的大小不能超過1 K字節,且必須用彙編語言編寫。這一部分通常把中斷向量表改一下就可以實現,主要包括如下步驟:
    (1)系統中所用的中斷向量表不要更改,只把復位中斷跳到搬移程序處(通常緊接中斷向量表後),而不直接跳到C程序的入口點c_int00處;
    (2)在搬移程序中配置DSP的EMIFB全局控制寄存器(GBLCTL)和空間控制寄存器(CElCTL)。按TMS320C64x文檔說明和所用Flash數據手冊配置讀寫時序,由於選用16-bit寬的Flash,所以MY-TYPE要定義爲16-bit異步接口,建好系統軟件和硬件溝通的平臺。
    (3)參照map文件編寫搬移程序;
    (4)跳到C程序入口點c_int00處,完成搬移程序的編寫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章