首先要對源**進行編輯和編譯,需要乙個叫做啟動檔案的東西,它是由作業系統提供(自動生成)的,通常不為人知,今天我來為大家介紹一下啟動檔案和jz2440的啟動方式。
(1)啟動檔案包括硬體初始化和軟體初始化兩部分
軟體初始化:
<1>設定棧
<2>設定main函式的返回位址
<3>呼叫main
<4>清理工作
注意:在<1>設定棧中,棧指標pc如果指向片內sram不需要進行初始化,指向片外sdram需要對sdram進行初始化
硬體初始化:
<1>關閉看門狗(定時器)
<2>初始化時鐘
<3>初始化sdram
注意:如果不關看門狗,系統(cpu)會不斷進行重啟
舉例:
啟動檔案:
ldr r0,=0x53000000 //0x53000000是看門狗暫存器位址
mov r1,#0x0
str r1,[r0] //禁止看門狗
ldr sp,=1024*4 //設定堆疊(2440內部sram只有4k,此處不能大於4k)
bl main //呼叫main函式
halt_loop:
b halt_loop;
bl指令 :跳轉到main並把返回位址儲存lr暫存器裡
2440的啟動方式:
2440的啟動方式有兩種:
<1>nand啟動
前4k自動複製到片內sram中
cup從sram的0位址執行
** -> nand flash -> 片內sram -> 執行
<2>nor啟動
0位址指向nor flash
cpu直接從0位址執行
S3C2440啟動方式
s3c2440支援nor flash和nand flash兩種方式啟動,它是通過引腳om1和om0控制的。如果是從nor flash啟動,因為復位後,arm將pc指標設定為0,那麼nor flash肯定要連到bank0上。如果從nand flash啟動,s3c2440是這樣做的,nand flash...
S3C2440啟動檔案
啟動檔案包括軟體和硬體兩方面。1 設定棧sp。設定棧我們要初始化硬體,因為要訪問記憶體。如果板子上是sram可以直接使用,不需要初始化 如果是sdram,我們需要初始化硬體 1 關閉看門狗 2 初始化時鐘 3 初始化sdram 2 設定返回位址 3 呼叫main 3 清理工作 簡單的啟動檔案 如下 ...
啟動mysql配置檔案的啟動方式
mysql 配置檔案載入位置與順序 1.usr local mysql bin mysqld verbose help help.txt 2 1 usr local mysql bin mysqld verbose help 這個命令生成所有mysqld選項和可配置變數的列表 然後重定向到help....