娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

一、編寫 s3c24x0 的 bootloader——介紹、看門狗及時鐘設置

發(fā)布者:EternalWhisper最新更新時間:2024-08-26 來源: cnblogs關鍵字:s3c24x0  bootloader  看門狗  時鐘設置 手機看文章 掃描二維碼
隨時隨地手機看文章

1.1 介紹

1.1.1 bootloader 的作用

bootloader 的終極功能就是為了啟動內核。

  

  • 從上面可以知道最簡單的 uboot 編寫的步驟:

    • 初始化硬件:關看門狗、設置時鐘、設置 SDRAM、初始化 nandflash

    • 如果bootloadre 比較大,要把它重定位到 SDRAM

    • 把內核從 nandflash 讀到 SDRAM

    • 設置內核啟動參數(shù)

    • 跳轉執(zhí)行內核

1.1.2 norflash 啟動

  norflash 可以像內存那樣讀,但是不能像內存那樣寫。

  

 

 

 1.1.3 nandflash 啟動

  

 

 

1.2 看門狗及時鐘設置

1.2.1 看門狗設置

2440 必須在啟動的時候關閉看門狗,不然就會隔一段時間重啟芯片。

看門狗定時器控制(WTCON)寄存器允許用戶使能或禁止看門狗定時器、從 4 個不同源選擇時鐘信號、使能或禁止中斷和使能或禁止看門狗定時器輸出。看門狗定時器是用于恢復 S3C2440 上電后若有故障重時新啟動;如果不希望控制器重新啟動,則應該禁止看門狗定時器。

如果用戶希望使用看門狗定時器作為普通定時器,則應使能中斷并且禁止看門狗定時器。

 

+ View Code

1.2.2 時鐘設置

S3C2440 中的時鐘控制邏輯可以產(chǎn)生必須的時鐘信號,包括 CPU 的 FCLK,AHB 總線外設的 HCLK 以及 APB 總線外設的 PCLK。S3C2440A 包含兩個鎖相環(huán)(PLL):一個提供給 FCLK、HCLK 和 PCLK,另一個專用于 USB 模塊(48MHz)。、
時鐘控制邏輯可以不使用 PLL 來減慢時鐘,并且可以由軟件連接或斷開各外設模塊的時鐘,以降低功耗

時鐘源的選擇與啟動模式有關,引導啟動時,時鐘源的選擇如下:

  • FCLK,HCLK 和 PCLK

    • FCLK 是提供給 ARM920T 的時鐘。

    • HCLK 是提供給用于 ARM920T,存儲器控制器,中斷控制器,LCD 控制器,DMA 和 USB 主機模塊的 AHB 總線的時鐘。

    • PCLK 是提供給用于外設如 WDT,IIS,I2C,PWM 定時器,MMC/SD 接口,ADC,UART,GPIO,RTC 和 SPI 的 APB 總線的時鐘。

  • S3C2440 支持對 FCLK、HCLK 和 PCLK 之間分頻比例的選擇。該比例由 CLKDIVN 控制寄存器中的 HDIVN 和 PDIVN 所決定。

 

 對于 S3C2440,芯片手冊有這一段需要注意的:

 

 我們必須將 CPU 總線模式改變?yōu)?異步總線模式。

前面已經(jīng)說明,S3C2440A 包含兩個鎖相環(huán)(PLL):一個提供給 FCLK、HCLK 和 PCLK,另一個專用于 USB 模塊(48MHz)。

所以還必須要設置鎖相環(huán),來給 FCLK、HCLK 和 PCLK 來提供時鐘源:

 

 UPLL 是提供給 USB 使用的,我們需要設置 MPLL,對于 MPLLCON,可以對應芯片手冊提供的表進行設置:

 

  •  input frequence:輸入時鐘源,外部 12M 的晶振,原理圖設計的

  • output Frequence:輸出時鐘源,也就是 MDIV,選擇 400M,則 MDIV 值是 0x5c


 1 #define CLKDIVN     0x4C000014  /** 時鐘分頻控制寄存器 */

 2 #define MPLLCON     0x4c000004

 3 #define S3C2440_MPLL_400MHZ     ((0x5c<<12)|(0x01<<4)|(0x01)) /** 400M 時鐘源 */

 4 

 5     /** 3. 芯片手冊上要求:

 6      *  如果 HDIVN  非0, CPU 的總線模式應該從 fast bus mode 變?yōu)?asynchronous bus mode */

 7     mrc p15, 0, r1, c1, c0, 0   /* 讀出控制寄存器 */

 8     orr r1, r1, #0xc0000000     /* 設置為 asynchronous bus mode */

 9     mcr p15, 0, r1, c1, c0, 0   /* 寫入控制寄存器 */

10 

11     /** 4. 設置時鐘頻率 */

12     ldr r0, =MPLLCON

13     ldr r1, =S3C2440_MPLL_400MHZ

14     str r1, [r0]

15     

16     /** 5. 初始化 SDRAM */

17     mov ip, lr          /** 保存當前程序地址到 ip  寄存器 */

18     bl sdram_init       /** 執(zhí)行 SDRAM 的初始化 */

19     mov    lr, ip


關鍵字:s3c24x0  bootloader  看門狗  時鐘設置 引用地址:一、編寫 s3c24x0 的 bootloader——介紹、看門狗及時鐘設置

上一篇:二、編寫 s3c24x0 的 bootloader——SDRAM 設置
下一篇:Linux移植之tag參數(shù)列表解析過程分析

推薦閱讀最新更新時間:2025-06-09 17:36

STM32時鐘樹與啟動過程時鐘設置分析
如果你要深入學習STM32,那么你就應該深入研究STM32從啟動開始到結束的各個過程,清楚認識整個過程,才會避免在今后的開發(fā)中遇到各種玄學問題(雖然博主也經(jīng)常遇到各種玄學問題),很多情況下玄學問題都是因為自身對問題沒有足夠深入的認識。 啟動過程???許多剛入門STM32的小白可能會一臉懵逼,我可以正常的寫流水燈程序呀,我從來就沒設置過啟動過程。那么說明你對STM32的固件庫還沒有足夠清晰的認識,我們雖然沒有足夠的能力去寫啟動程序,但是我們應該學會去閱讀、認識這個過程。此處借助原子的Template工程沒有資料的從此處下載:啟動程序是./CORE/startup_stm32f40_41xxx.s 這是一段匯編代碼,主要是一
[單片機]
STM32<font color='red'>時鐘</font>樹與啟動過程<font color='red'>時鐘</font><font color='red'>設置</font>分析
什么是Bootloader 淺談STM32中bootloader的內存分配
1. 什么是Bootlo ad er Bootloader是 硬件 啟動的引導程序,是運行 操作系統(tǒng) 的前提。在操作系統(tǒng)內核或用戶應用程序運行之前運行的一段小代碼。對硬件進行相應的初始化和設定,最終為操作系統(tǒng)準備好環(huán)境。 2. Bootloader的特點 Bootloader不屬于操作系統(tǒng),一般采用 匯編 語言和 C語言 開發(fā)。需要針對特定的硬件平臺編寫。在移植過程時,首先為開發(fā)板移植Bootloader。Bootloader不但依賴于 CPU 的體系架構,而且依賴于 嵌入式系統(tǒng) 板級設備的配置。 3. STM32 中bootloader的內存分配 stm32默認的是從0x08000000開始啟動程序,所以bootloader
[單片機]
什么是<font color='red'>Bootloader</font> 淺談STM32中<font color='red'>bootloader</font>的內存分配
使用Digispark Bootloader工具通過USB直接對ATtiny85進行編程
ATtiny系列是AVR市場上最小的微控制器系列之一。這些微控制器能夠利用Arduino平臺上的許多庫。 ATtiny85微控制器芯片是8引腳,8位AVR微控制器。它的體積小,功耗低,非常適合空間小,功耗低的便攜式項目。但是,由于沒有像微控制器板那樣的USB接口,因此將代碼寫入芯片可能會遇到一些挑戰(zhàn)。 在前段時間,我們使用Arduino Uno對ATtiny85進行了編程。但是將Attiny85連接到Arduino并使用Arduino作為ISP既困難又耗時。因此,在本篇文章中,我們將制作一個ATtiny85編程板,以便我們可以像其他微控制器板一樣直接編程。 所需的組件 ● Arduino UNO(僅在上傳引導程序時第一次
[單片機]
使用Digispark <font color='red'>Bootloader</font>工具通過USB直接對ATtiny85進行編程
22.核心初始化之看門狗
看門狗定時器,在嵌入式領域,有些設備需要工作一些極端的環(huán)境,就是人很少到或者很難到的地方。在長期的運作中,難免會出現(xiàn)故障死機的情況,這時,如果派人去查看情況,耗費耗時等,所以人們就設置了一種機制,就是系統(tǒng)里有一個重啟的機制叫看門狗定時器。它工作的方式:就是系統(tǒng)的watchdog在硬件上實現(xiàn)了計時功能,啟動計時后,用戶(軟件)必須在計時結束前重新開始計時,俗稱 喂狗 ,如果到了超時的時候,還沒有重新開始計時,那么就認為系統(tǒng)死機了,進行自動重啟系統(tǒng)。 芯片手冊:6410的34章里: 看門狗的工作流程: 由于我們現(xiàn)在使用的日常里的操作系統(tǒng),沒那么容易死機,所以為了避免系統(tǒng)老是重啟,因為沒喂狗。所以干脆把它給關閉掉。 關閉的操作: 看
[單片機]
22.核心初始化之<font color='red'>看門狗</font>
獨立看門狗的一點經(jīng)驗
stm32 基本都內置兩種 看門狗 (另外還有外置的看門狗 芯片 ),窗口看門狗和獨立看門狗,兩種看門狗的使用方法和應用場景各不相同,今天主要講講最常用的獨立看門狗(工作這么多年,沒見誰用過窗口看門狗,這種估計在時序嚴格的場合會用上)。 所謂獨立(Independent watchdog),就是該看門狗有獨立的 時鐘 源供看門狗使用,VIP專屬。這樣即使程序跑飛,或者主時鐘掛掉,照樣運行。但是精度嘛,你懂的(VIP用戶一般比較飄)。 所謂看門狗,外形雖然不像(一堆 電子 電路,肯定不像),但行為真的狗,還是一條瘋狗。為啥這么說呢? 這只狗一定要在規(guī)定以內的時間(這個時間自己設置)喂食,超出一點都不行,否則就咬人(復位整個程序,
[單片機]
獨立<font color='red'>看門狗</font>的一點經(jīng)驗
s3c2440 看門狗設置使用例程
在嵌入式工控領域,為保障程序的持續(xù)運行,使用看門狗是必須的。 調狐上網(wǎng),發(fā)現(xiàn)詳細介紹s3c2440 Watchdog的資料真不多。于是就對著linux kernel里的代碼自己研究吧。 偶寫的測試例程如下所示: #include stdio.h #include stdlib.h #include unistd.h #include sys/types.h #include sys/stat.h #include fcntl.h #include termios.h #include errno.h #include signal.h #include time.h #include pthread.h #include sys/
[單片機]
MC9S12XEP 的bootloader解析
MC9S12XEP 的bootloader 歸納總結 兩個要點: 1.ROM不要重疊,bootloader的代碼與用戶應用代碼不要重疊。各自設置各自的ROM區(qū)域; 2.bootloader有一部分代碼是在RAM里運行的,所以RAM也不能重疊,RAM可以分為如下三種: a.) 堆棧區(qū)域; b.)bootloader代碼變量區(qū)域; c.)bootloader 中斷地址; 上述三種RAM類型,不可重疊。 先說bootloader部分,需要處理的步驟如下: a). 為 bootloader 劃出ROM,(.prm文件修改) b). 為bootloader ROM里再劃出一塊區(qū)域,
[單片機]
STM32中的獨立看門狗和窗口看門狗是什么
一、前言 在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機,跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨立看門狗和窗口看門狗。 獨立看門狗 :使用的是外部時鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達喂狗時間的上限前喂狗即表示程序是正常的,這點和窗口看門狗是有區(qū)別的。另外獨立看門狗是獨立于整個系統(tǒng)之外的,這也是獨立看門狗名字的由來,他有自己獨立的時鐘,不受整個系統(tǒng)的影響,所以獨立看門狗主要用來監(jiān)控硬件上的錯誤。 窗口看門狗 :使用芯片內部時鐘。喂狗的時間既有上限又有下限,即喂狗太早或者太晚都不行,比如我要求你在0.8s到0.9s內
[單片機]
STM32中的獨立<font color='red'>看門狗</font>和窗口<font color='red'>看門狗</font>是什么
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 普陀区| 武穴市| 桑日县| 石嘴山市| 临清市| 岐山县| 黄骅市| 上虞市| 阳新县| 蓝田县| 远安县| 奉新县| 通榆县| 淮滨县| 常德市| 英山县| 岳西县| 吉安县| 永泰县| 嘉善县| 延吉市| 河西区| 板桥市| 台东县| 麟游县| 荥阳市| 五河县| 阜新市| 行唐县| 榆中县| 乡城县| 中牟县| 视频| 临夏县| 织金县| 荆门市| 安平县| 格尔木市| 修文县| 招远市| 积石山|