freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

lpc2478遠(yuǎn)程溫度監(jiān)控設(shè)計畢業(yè)論文-資料下載頁

2025-06-19 14:17本頁面
  

【正文】 endif 之類來實(shí)現(xiàn)的。UBoot 的源碼是通過 GCC 和 Makefile 來組織編譯的。運(yùn)行 make 命令以后,所有子目錄的編譯連接都由頂層目錄的 Makefile 文件來確定,首先由頂層目錄下的 Makefile 設(shè)置開發(fā)板定義,然后遞歸的調(diào)用各級子目錄下的 Makefile,最后把編譯過的程序鏈接成 UBoot 映像。在執(zhí)行 make 之前,先要執(zhí)行 make $(board)_config 對工程進(jìn)行配置,以確定特定于目標(biāo)板的各個子目錄和頭文件。$(board)_config:是 Makefile 中的一個偽目標(biāo),它傳入指定的CPU, ARCH,BOARD,SOC 參數(shù)去執(zhí)行 mkconfig 腳本。這個腳本的主要功能在于連接目標(biāo)板平臺相關(guān)的頭文件夾,生成 文件包含板子的配置頭文件。使得Makefile 能根據(jù)目標(biāo)板的這些參數(shù)去編譯正確的平臺相關(guān)的子目錄。執(zhí)行 make LPC2468OEM_Board_config,即可完成目標(biāo)板的配置,并寫入頂層Makefile 中。Makefile 文件中的相關(guān)代碼為:LPC2468OEM_Board_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm720t LPC2468OEM_Board NULL lpc2468頂層的 Makefile 還要定義交叉編譯器、UBoot 所依賴的目標(biāo)文件、映像編譯的依賴關(guān)系等。缺省的編譯目標(biāo)為 all,包括 uboot(UBoot 映像的 ELF 格式) 、u(UBoot 映像的原始二進(jìn)制格式) 、(UBoot 映像的 SRecord 格式) 、(UBoot 映像的符號表)一共四個文件。 UBoot 通過 ld 命令按照 地址表把目標(biāo)文件組裝成 uboot。 和 依賴于 uboot,3 種映像格式都可以燒寫到 Flash 中,但需要看加載器能否識別這些格式。一般 最為常用,直接按照二進(jìn)制格式下載,并且按照絕對地址燒寫到 Flash 中就可以了。uboot 和 都自帶地址定位信息。 UBoot 的移植UBoot 能夠支持多種體系結(jié)構(gòu)的處理器,而且它能夠支持的開發(fā)板也已經(jīng)越來越多。由于 Bootloader 程序是完全依賴于底層硬件平臺的,所以在一塊新電路板上使用UBoot 程序時,需要做一定的移植工作。開始移植 UBoot 之前,先要熟悉硬件電路板和處理器。確認(rèn) UBoot 是否已經(jīng)支持新電路板的處理器和 I/O 設(shè)備。假如 UBoot 已經(jīng)支持一塊非常相似的電路板,那么移植的過程將會非常簡單。移植 UBoot 工作主要是:添加開發(fā)板硬件相關(guān)的文件、配置選項(xiàng),然后配置編譯。開始移植之前,需要先分析一下 UBoot 已經(jīng)支持的開發(fā)板,比較出硬件配置最接近的開發(fā)板。選擇的原則是,首先處理器相同,其次處理器體系結(jié)構(gòu)相同,然后是以太網(wǎng)接口等外圍接口。還要驗(yàn)證一下這個參考開發(fā)板的 UBoot,至少能夠配置編譯通過。我 們 是 用 EA 公 司 提 供 的 uboot 源 碼 進(jìn) 行 移 植 , 主 要 的 工 作 包 括norflash 驅(qū) 動 , nandflsh 驅(qū) 動 , 網(wǎng) 卡 驅(qū) 動 的 移 植 以 及 一 些 相 關(guān) 文 件 的 修 改 。[piaozhiye@localhost ~]$ tar xzvf [piaozhiye@localhost ~]$ cd [piaozhiye@localhost ]$ make LPC2468OEM_Board_config[piaozhiye@localhost ]$make將 /:167 行 注 釋 掉 否 則 會 出 現(xiàn) 以 下 錯 誤 , 它 只是 打 印 一 些 信 息 無 關(guān) 緊 要 。//printf(cache:%x %x %x\r\n, ADDRESS_PAGE_0, CACHE_PAGE_CTRL, CACHE_SETTINGS)。: In function `do_bootm39。::167: error: `ADDRESS_PAGE_039。 undeclared (first use in this function):167: error: (Each undeclared identifier is reported only once:167: error: for each function it appears in.):167: error: `CACHE_PAGE_CTRL39。 undeclared (first use in this function):167: error: `CACHE_SETTINGS39。 undeclared (first use in this function)make[1]: *** [] 錯 誤 1將 /:397 和 398 行 注 釋 掉 , USB 相 關(guān) 的 。 我 們 沒 有用 到 USB 將 其 注 釋 掉 。//usbhw_init()。//usbstatus_check()。/home/piaozhiye/:397: undefined reference to `usbhw_init39。/home/piaozhiye/:398: undefined reference to `usbstatus_check39。到 此 即 可 編 譯 通 過 , uboot 也 可 以 在 串 口 打 印 出 啟 動 信 息 。 UBoot Nor flash 驅(qū)動的移植Nor flash 在 uboot 中的配置信息:/* * FLASH and environment anization */define CFG_MAX_FLASH_BANKS2/* max number of memory banks*/define CFG_MAX_FLASH_SECT35/* max number of sectors on one chip*//* timeout values are in ticks */define CFG_FLASH_ERASE_TOUT(2*CFG_HZ) /* Timeout for Flash Erase */define CFG_FLASH_WRITE_TOUT(2*CFG_HZ) /* Timeout for Flash Write */原來代碼中是 SST39VF3201,現(xiàn)在板子用的是 AM29LV160DB。板子上有兩個flash 一個是內(nèi)部 flash 大小為 500KB 基址是 0x00000000 另一個是外部 flash 大小為1MB 基址是 0x80000000,我們把編譯好后的 uboot 燒寫到內(nèi)部 flash 中。它們的操作函數(shù)在 。我們對 做相應(yīng)的修改即可。修改相應(yīng)的 flash 初始化的信息,主要是扇區(qū)大小分布和一些相關(guān)信息。如下所示:ulong flash_init (void){ int j, k。 ulong size = 0。 ulong flashbase = 0。 flash_info[0].flash_id = (PHILIPS_LPC2468 amp。 FLASH_VENDMASK)。 flash_info[0].size = 0x007D000。/* 512 12 KB */內(nèi)部 flash flash_info[0].sector_count = 27。 memset (flash_info[0].protect, 0, 27)。 flashbase = 0x00000000。 for (j = 0, k = 0。 j 8。 j++, k++) { flash_info[0].start[k] = flashbase。 flashbase += 0x00001000。 } for (j = 0。 j 14。 j++, k++) { flash_info[0].start[k] = flashbase。 flashbase += 0x00008000。 } for (j = 0。 j 5。 j++, k++) { flash_info[0].start[k] = flashbase。 flashbase += 0x00001000。 } size += flash_info[0].size。// Note the bank offsets are defined as follow:// 1st Bank: 0x00000000 (images at 0x00100000, 0x00800000, 0x00900000)// 2nd Bank: 0x00400000 (images at 0x00500000, 0x00C00000, 0x00D00000)// 3rd Bank: 0x00202200 (images at 0x00300000, 0x00A00000, 0x00B00000)// 4th Bank: 0x00600000 (images at 0x00700000, 0x00E00000, 0x00F00000) flash_info[1].flash_id = (AMD_MANUFACT amp。 FLASH_VENDMASK)。 flash_info[1].size = 0x00202200。 /* 1st 2 MB */ 外部 flash flash_info[1].sector_count = 35。 memset (flash_info[1].protect, 0, 35)。 flashbase = AMD_BASEADDR。 for (j=0。 j1。 j++) { flash_info[1].start[j] = flashbase。 flashbase += 0x2022。/* 8 Kw sectors */ } for (j=1。 j3。 j++) { flash_info[1].start[j] = flashbase。 flashbase += 0x1000。/* 4 Kw 2 sectors */ } for (j=3。 j4。 j++) { flash_info[1].start[j] = flashbase。 flashbase += 0x4000。/* 16 Kw 1 sectors */ } for (j=4。 j35。 j++) { flash_info[1].start[j] = flashbase。 flashbase += 0x8000。/* 32 Kw sectors */ } size += flash_info[1].size。 /* Protect monitor and environment sectors */ flash_protect (FLAG_PROTECT_SET, 0x0, 0x0 + monitor_flash_len 1, amp。flash_info[0])。 ifdef CFG_ENV_IS_IN_FLASH flash_protect (FLAG_PROTECT_SET, CFG_ENV_ADDR, CFG_ENV_ADDR + CFG_ENV_SIZE 1, amp。flash_info[0])。endif return size。}到此 uboot 的 nor flash 驅(qū)動可以跑起來了。 NAND Flash 驅(qū)動移植NAND Flash 驅(qū)動是從 內(nèi)核移植過來的,因此它是按照 linux MTD 系統(tǒng)層次結(jié)構(gòu)來編寫的(關(guān)于 MTD 的介紹將在移植 linux 驅(qū)動的時候做介紹) 。它在 MTD 層下實(shí)現(xiàn)了通用的 NAND 驅(qū)動(主要是 drivers/nand/ 文件實(shí)現(xiàn)的) ,因此它的芯片級的 nand 驅(qū)動比較容易。Nand 驅(qū)動在 include/configs/ 文件中的配置define CONFIG_COMMANDS(CONFIG_CMD_DFL | CFG_CMD_FAT | CFG_CMD_NET | CFG_CMD_MMC | CFG_CMD_NAND | CFG_CMD_DHCP | CFG_CMD_PING | CFG_CMD_I2C)/* * NAND Flash */define CFG_MAX_NAND_DEVICE1define NAND_MAX_CHIPS1define CFG_NAND_BASE0x81000000 //基地址需要在 board/LPC2468OEM_Board / 中實(shí)現(xiàn)三個函數(shù):static void hwcontrol(struct mtd_info *mtd, int cmd)完成硬件控制,static void nand_select_chip(struct mtd_info * mtd , int chip)完成芯片選擇;void board_nand_init(struct nand_chip *nand)完成 nand 的初始化工作,具體代碼見源代碼。include include include asm/arch//* * CLE at A21 * ALE at A22 CE P[0] 25 */def
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1