嵌入式硬件---ADS工具的使用和建立硬件調(diào)試環(huán)境
1、打開(kāi)CodeWarrior for ARM Developer Suite軟件
2、新建工程,工程類型為ARM Executalbe Image,注意工程名稱和路徑一定不能用中文,否則無(wú)法打開(kāi)
3、向工程中添加文件,[file]->new,選擇File標(biāo)簽頁(yè),輸入文件名,如main.c,選擇Add to Project復(fù)選框,在Targets中只選擇DebugRel(生成的鏡像里只包含基本的信息)
4,添加已有的系統(tǒng)文件,將系統(tǒng)文件復(fù)制到工程目錄下,在工程頁(yè)面中選擇【Project】菜單下的Add files,加入相應(yīng)的文件,在Targets中選擇DebugRel。
5、在工程頁(yè)面中選擇【Project】菜單下的Create Group,對(duì)文件進(jìn)行分類
6、配置工程選項(xiàng),點(diǎn)擊工具欄上的【DebugRel Setting…】工具按鈕,在DebugRel Setting對(duì)話框中進(jìn)行配置:
[Target Settings]項(xiàng)將Post-Linker選擇為ARM fromELF,則編譯生成可執(zhí)行文件
[Language Settings]項(xiàng),將每種語(yǔ)言的Architecture or Processor都選擇為ARM920T
[Linker]項(xiàng),將ARM Linker下,Output標(biāo)簽頁(yè)中的Simple image的RO Base(內(nèi)存起始地址)改為0x30000000,將Options標(biāo)簽頁(yè)下的Image entry point也改為0x30000000,將Layout標(biāo)簽頁(yè)下的Object/Symbol填上2440init.o(初始化代碼的目標(biāo)文件,如初始化代碼為2440init.s,編譯后生成2440init.o),在Section中填寫Init(在2440init.s中主函數(shù)的入口處,用AREA定義了一個(gè)名為Init的只讀代碼段),ARM Linker設(shè)置完成,在Equivalent Command Line中列出設(shè)置的參數(shù);將ARM fromELF下,可執(zhí)行文件的輸出格式output format中選擇Plain binary。
7、 系統(tǒng)代碼分析
2440init.s:系統(tǒng)初始化代碼,設(shè)置系統(tǒng)的工作方式,初始化堆棧和中斷向量表,配置存儲(chǔ)控制器,指定函數(shù)的入口地址等等
2440slib.s:主要是初始化MMU
2440lib.c:是一些系統(tǒng)函數(shù),Delay函數(shù)為毫秒級(jí)延時(shí)函數(shù),一些系統(tǒng)時(shí)鐘函數(shù)
2440lib.h
2440addr.h:定義了所有的寄存器,中斷請(qǐng)求標(biāo)志位
def.h:定義了數(shù)據(jù)類型,和常用的Size的值
Uart.c:和串口相關(guān)的函數(shù)定義
uart.h