91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

最簡單的bootloader的編寫步驟

0BFC_eet_china ? 來源:未知 ? 作者:李倩 ? 2018-08-08 08:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

內核從板載啟動的 bootargs--內核啟動參數(shù), bootargs 是 bootloader 傳遞給內核的啟動字符串。

BootLoader的目標是啟動內核, 大多數(shù) boot loader 都包含兩種不同的操作模式:"啟動加載"模式和"下載"模式 。

嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內核運行之前運行??梢猿跏蓟布O備、建立內存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調用操作系統(tǒng)內核準備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啟動程序),因此整個系統(tǒng)的加載啟動任務就完全由BootLoader來完成。在一個基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復位時通常都從地址0x00000000處開始執(zhí)行,而在這個地址處安排的通常就是系統(tǒng)的BootLoader程序。常見的BootLoader程序如下:

最簡單的bootloader的編寫步驟:

1). 初始化硬件:關看門狗、設置時鐘、設置SDRAM、初始化NAND FLASH

1.關看門狗:2440的開發(fā)板一上電看門狗是打開的,不關閉的話每三秒就會復位一次開發(fā)板。看門狗的地址為:0x53000000

2.設置時鐘:CLKDVIN寄存器的地址為0x4c000014,必須設置為異步模式,這是datasheet所規(guī)定的。

注:

判斷從nand啟動還是nor啟動就往內存中寫數(shù)據即可,之后看是否能從內存相應地址讀出對應的值。

Nand_Flash的時序(s3c2440中)nand-flash存在先天缺陷:會位反轉為此引入OOBoutofbank。

Nand_Flash芯片手冊中

相關時間參數(shù)的獲?。?/p>

2). 如果bootloader比較大,要把它重定位到SDRAM

3). 把內核從NAND FLASH讀到SDRAM

4). 設置"要傳給內核的參數(shù)"

在u-boot中查看分區(qū),使用命令mtd

5). 跳轉執(zhí)行內核

在簡單的BootLoader編寫的過程中出現(xiàn)過以下錯誤,錯誤之處是.lds鏈接腳本文件出錯,要注意相關格式。

修改完最后的這個錯誤,最終一個最簡BootLoader及完成了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 看門狗
    +關注

    關注

    10

    文章

    610

    瀏覽量

    72935
  • bootloader
    +關注

    關注

    2

    文章

    244

    瀏覽量

    48030

原文標題:最最簡單的Bootloader怎么寫?

文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是Bootloader 淺談STM32中bootloader的內存分配

    準備好環(huán)境。 2. Bootloader的特點 Bootloader不屬于操作系統(tǒng),一般采用匯編語言和C語言開發(fā)。需要針對特定的硬件平臺編寫。在移植過程時,首先為開發(fā)板移植Bootloader
    的頭像 發(fā)表于 02-15 06:10 ?1.9w次閱讀
    什么是<b class='flag-5'>Bootloader</b> 淺談STM32中<b class='flag-5'>bootloader</b>的內存分配

    Bootloader固件升級的步驟

    ,并且保證不能相互覆蓋,則需要在下載程序時指定地址。 二、Bootloader 升級步驟 ① 基本流程: 1、收到更新 FW 命令 2、進入 Bootloader 模式 3、被告知 FW 大小
    發(fā)表于 11-19 07:41

    如何編寫bootloader

    每一個MCU都是PIC18F46K22@ 20MHz VDD=5V DIP40引腳封裝。我想學習如何為我的MCU編寫S基本Bootloader,這樣我就可以從UART端口閃出它。有人可以指點一下我
    發(fā)表于 09-21 10:13

    BootLoader是什么? 怎樣去編寫BootLoader源程序?

    BootLoader是什么?怎樣去編寫BootLoader源程序?BootLoader的編譯、鏈接和下載
    發(fā)表于 04-27 07:08

    關于編寫Bootloader的資料大合集

    在使用MCU的時候如果要使用程序下載、程序升級或程序備份,那么都需要自己編寫Bootloader。那么編寫Bootloader使首先應該完成的是什么呢?沒錯,就是中斷向量表。那如果操作
    發(fā)表于 11-03 08:05

    簡單的c編寫的旋進數(shù)組

    簡單的c編寫的旋進數(shù)組。
    發(fā)表于 03-11 13:39 ?0次下載

    AVR的bootloader的設置步驟教程及注意事項

    熔絲位的燒寫:BOOTRST要進行編程,這樣單片機在復位后自動跳轉到bootloader區(qū)執(zhí)行bootloader的代碼,然后要根據自己bootloader的大小設置boot區(qū)的的熔絲位。
    的頭像 發(fā)表于 05-20 09:46 ?7568次閱讀
    AVR的<b class='flag-5'>bootloader</b>的設置<b class='flag-5'>步驟</b>教程及注意事項

    Linux bootloader 編寫方法

    對于移植 linux 到其它開發(fā)板的人來說,編寫 boot loader 是一個不可避免的過程。對于學習linux的人來講,編寫 bootloader 也是一個很有挑戰(zhàn)性的工作。本文
    發(fā)表于 04-02 14:39 ?608次閱讀

    如何編寫ARM處理器的Bootloader

    作者 | strongerHuang 微信公眾號 | strongerHuang 之前從應用的角度給大家分享過Bootloader相關的文章,今天從底層原理來給大家描述ARM處理器如何編寫
    的頭像 發(fā)表于 10-27 11:02 ?4858次閱讀
    如何<b class='flag-5'>編寫</b>ARM處理器的<b class='flag-5'>Bootloader</b>

    關于M0內核MCU的Bootloader編寫

    在使用MCU的時候如果要使用程序下載、程序升級或程序備份,那么都需要自己編寫Bootloader。那么編寫Bootloader使首先應該完成的是什么呢?沒錯,就是中斷向量表。那如果操作
    發(fā)表于 10-28 11:36 ?16次下載
    關于M0內核MCU的<b class='flag-5'>Bootloader</b><b class='flag-5'>編寫</b>

    在STM32F103C8上實現(xiàn)一個簡單bootloader

    在STM32F103C8上實現(xiàn)一個簡單bootloader最近在琢磨單片機在線更新程序的事情,查資料查到在STM32上實現(xiàn)一個bootloader比較簡單,廢話不多說,動手嘗試一下。
    發(fā)表于 11-23 17:51 ?20次下載
    在STM32F103C8上實現(xiàn)一個<b class='flag-5'>簡單</b>的<b class='flag-5'>bootloader</b>

    如何實現(xiàn)簡單bootloader功能

    考慮到瑞薩的MCUBoot的ROM占用和某些客戶的需求,本篇主要講述在不使用瑞薩MCUboot驅動下,如何實現(xiàn)簡單bootloader功能。
    的頭像 發(fā)表于 09-06 13:13 ?3448次閱讀

    倍福PLC學習:編寫函數(shù)塊及簡單調試

    今天這篇文章我們來編寫一個簡單的電機控制函數(shù)塊,并將其下載到倍福CX5020控制器進行測試,以熟悉TwinCAT3環(huán)境下基本的編程步驟。
    的頭像 發(fā)表于 11-09 09:34 ?7666次閱讀

    如何編寫一個簡單的電機控制函數(shù)塊?

    今天這篇文章我們來編寫一個簡單的電機控制函數(shù)塊,并將其下載到倍福CX5020控制器進行測試,以熟悉TwinCAT3環(huán)境下基本的編程步驟
    的頭像 發(fā)表于 02-07 14:00 ?3628次閱讀
    如何<b class='flag-5'>編寫</b>一個<b class='flag-5'>簡單</b>的電機控制函數(shù)塊?

    ARM處理器如何編寫Bootloader

    前面給大家分享過Bootloader從應用角度執(zhí)行的相關文章,今天從底層原理來給大家描述ARM處理器如何編寫Bootloader,以及底層流程。
    的頭像 發(fā)表于 07-26 09:10 ?1511次閱讀
    ARM處理器如何<b class='flag-5'>編寫</b><b class='flag-5'>Bootloader</b>