原创 ARM的異常和中斷
異常和中斷處理,負責處理錯誤,中斷和其他由外部系統觸發的事件。 ARM有7種異常,數據中止、快速中斷請求、中斷請求、預取址中止、軟件中斷、復位及未定義指令。 2種類型的中斷,第一類是由外設引起的,即IRQ和FI
原创 printf打印16進制數據,高位補零的方法。
代碼: unsigned char data = 0xf;unsigned char regAddr = 0xf; printf("/nwite data 0x%02x to regAddr 0x%02x success/n"
原创 assert的用法
函數名: assert 功 能: 測試一個條件並可能使程序終止 用 法: void assert(int test); 程序例: #include <assert.h> #include <stdio.h> #include <st
原创 vxworks的default boot line說明
boot程序的主要功能是引導vxworks 內核,所以boot程序需要知道vxworks的內核存放在何處,通過什麼手段去獲取。在vxworks缺省的boot程序裏有一條內建的default boot line,它指明瞭獲得vxworks內
原创 U-Boot啓動代碼分析(MIPS)
U-Boot代碼分析(by MulinB)(以某Demo板Bootloader代碼工程爲例,CPU是MIPS架構的某多核CPU): 1) 史前時代:彙編在FLASH中運行的日子(彙編指令參見《See MIPS Run
原创 U-BOOT環境變量實現
1.相關文件 common/env_common.c 供u-boot調用的通用函數接口,它們隱藏了env的不同實現方式,比如dataflash, epprom, flash等 common/env_dataflash.c env 存
原创 u-boot的norflash驅動分析,以及一些調試信息
Flash 存儲器接口還有兩個標準:CFI和JEDEC。 CFI爲公共Flash接口[Common Flash Interface], 用來幫助程序從Flash芯片中獲取操作方式信息,而不用在程序中硬編碼Flash的ID。 JE
原创 信號量和自旋鎖
信號量和自旋鎖 爲了避免併發,防止競爭。內核提供了一組同步方法來提供對共享數據的保護。 我們的重點不是介紹這些方法的詳細用法,而是強調爲什麼使用這些方法和它們之間的差別。 Linux 使用的同步機制可以說從2.0到2.6以來
原创 編譯工具eldk的安裝
1.下載ARM-2007-01-21.ISO,2.掛載 #mount -o loop /root/arm-2007-01-21.iso /mnt3.安裝 #./install -d /eldk/arm arm 1.下載eldk-m
原创 MMU在VxWorks中的實現
MMU在VxWorks中的實現1.內存管理單元MMUVxWorks提供兩級虛內存支持:與VxWorks捆綁在一起的基本級和需要可選產品VxVMI的完全級。 1.1指令和數據MMUPowerPC MMU允許指令和數據MMU被分別允許或禁止。
原创 u-boot 啓動流程(mips)
u-boot的啓動過程比較簡單,大致做下面的工作: 1 cpu初始化 2 時鐘,串口,內存(ddr ram)初始化 3 內存劃分,分配棧,數據,配置參數,以及u-boot代碼在內存中的位置。 4 對u-boot代碼
原创 ubuntu 6 安裝 gcc
ubuntu 默認沒有安裝 gcc。 在終端輸入gcc提示 #gcc -v “bash: gcc: command not found”。 於是通過它提供的軟件安裝工具好不容易安裝成功了。sudo apt-get install gc
原创 u-boot start.S 代碼學習
* 參考了別人的一些筆記,看完了啓動代碼。 本文檔記錄在看代碼時碰到的困難,將這些曾經困擾的問題記錄下來,以備今後之用。分析時不重要的代碼被刪除了。 */ .globl _start _start: b reset l
原创 成功應該養成的習慣
要成功,就馬上準備有所付出吧!這就是每天你應該養成的習慣。 1、不說“不可能”; 2、凡事第一反應: 找方法,不找藉口; 3、遇到挫折對自己說聲:太好了,機會來了! 4、不說消極的話,不落入消極的情緒,一旦發生立即正面處理; 5、凡事先訂
原创 ARM寄存器總結:
ARM有16個32位的寄存器(r0到r15)。 r15充當程序寄存器PC,r14(link register)存儲子程序的返回地址,r13存儲的是堆棧地址。 ARM有一個當前程序狀態寄存器:CPSR。 一些寄存器(r13,r14)