嵌入式基礎學習 完整體驗

2021-09-02 18:53:24 字數 2105 閱讀 6545

系統由uboot、核心、檔案系統三個部分組成,完整體驗過程就是對三個部分分別進行打補丁、編譯和燒寫。另外體驗簡單驅動和網路檔案系統使用。

使用的虛擬機器是ubuntu18.04,arm-linux-gcc等工具用的現成的,把目錄加入環境變數就可用,需要裝一些32位庫

sudo apt install lib32ncurses5

tar xjf u-boot-1.1.6.tar.bz2

cd u-boot-1.1.6

patch -p1 < ../u-boot-1.1.6_jz2440.patch //-p1 表示忽略第一級目錄

make 100ask24x0_config

make

tar xjf linux-2.6.22.6.tar.bz2

cd linux-2.6.22.6

patch -p1 < ../linux-2.6.22.6_jz2440.patch

mv ../4.3寸lcd_mach-smdk2440.c arch/arm/mach-s3c2440/mach-smdk2440.c //替換4.3寸原始碼

cp config_ok .config

make uimage //在arch/arm/boot目錄下生成uimage

編譯linux2.6.22.6出錯:mixed implicit and normal rules: deprecated syntax

系統的make工具太新,需要修改如下兩行:

#416行前面加個%:

%config %config: scripts_basic outputmakefile force

#1449 行去掉前面的/ :

%/: prepare scripts force

編譯後沒有uimage檔案: 需要在u-boot-1.1.6目錄下執行make all,編譯後會在tools中生成乙個mkimage工具,將其拷貝到環境變數目錄下(arm-linux工具bin)

分為yaffs2和jffs2兩種格式,只嘗試了用mkyaffs2image工具編譯最小檔案系統。

mkyaffs2image fs_mini_mdev xz.yaffs2
//使用測試程式,在虛擬機器編譯

make //編譯出*.ko檔案

arm-linux-gcc -o firstdrvtest firstdrvtest.c

//在開發板上

insmod first_drv.ko

./firstdrvtest on //點亮led

檔案系統位置設定:

set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.11:/home/xz/work/nfs_root/tmp/fs_mini_mdev ip=192.168.1.12:192.168.1.11:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttysac0

同樣如果是jffs2格式的話要加 rootfstype=jffs2

set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.11:/home/xz/work/nfs_root/tmp/fs_mini_mdev ip=192.168.1.12:192.168.1.11:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttysac0 rootfstype=jffs2

板子上啟動 (rootfstype=jffs2):

set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttysac0

檢視可掛載目錄 exportfs

虛擬機器掛載命令 mount -t nfs serverip:/shared /掛在哪

開發板掛載命令 mount -t nfs -o nolock,vers=2 serverip:/shared /mnt

嵌入式初體驗

先建立main1.c檔案並通過gedit命令輸出以下 include include sub1.c int main 再建立sub1.c檔案並通過gedit命令輸出下列 float x float a,float b 通過gcc編譯 再執行main檔案完成子檔案的呼叫 在c語言下的執行 建立make...

嵌入式基礎

以應用為中心 以計算機技術為基礎,軟硬體可裁剪,應用系統對功能 可靠性 成本 體積 功耗和應用環境有特殊要求的專用計算機系統。是將應用程式 作業系統和計算機硬體整合在一起的系統。1.嵌入式系統的構成 嵌入式微處理器 嵌入式作業系統 外圍應用裝置 應用軟體系統。2.嵌入式處理器 嵌入式微處理器 嵌入式...

嵌入式基礎

整體思路 time指標指向該暫存器,所以定義乙個timeop位域,利用time指標將暫存器中的值放至timeop中,儲存後面暫存器讀取到的結果再經過修改返回到暫存器裡 用16位指標time指向這裡使用的16位暫存器,用來讀取和改變暫存器值 借助強制轉換的方式將值傳給time指標,指標將值給暫存器,將...