原创 chroot: failed to run command 'adduser': Exec format error 解決方法

  dockers遇到的問題 Run this command to register the qemu parts correctly docker run --rm --privileged multiarch/qemu-user-

原创 Linux驅動mmap內存映射

mmap在linux哪裏? 什麼是mmap? 上圖說了,mmap是操作這些設備的一種方法,所謂操作設備,比如IO端口(點亮一個LED)、LCD控制器、磁盤控制器,實際上就是往設備的物理地址讀寫數據。 但是,由於應用程序不能直接操作設備硬

原创 Linux 下格式化 FAT32 分區,只是一個 mkfs.vfat 就行了嗎?

轉載網址: Linux 下格式化 FAT32 分區,只是一個 mkfs.vfat 就行了嗎?   問題發現 首先不得不說的是,當年在我不瞭解如何格式化一個分區到 FAT32 類型時,我選擇了百度,當時得到的答案是 mkfs.vfat de

原创 uboot下的命令行

轉載: uboot下的命令行 1.典型嵌入式linux系統啓動過程: 嵌入式系統上電後先執行uboot、然後uboot負責初始化DDR,初始化Flash,然後將OS從Flash中讀取到DDR中,然後啓動OS(OS啓動後uboot就無用了

原创 Shell命令——文件目錄

Linux只有一個文件系統樹,不同的硬件設備可以掛載在不同目錄下。  文件或目錄有兩種表示方式:   - 絕對路徑:從根目錄”/”開始   - 相對路徑:從工作目錄開始,使用”..”指向父目錄,”.”指向當前目錄。在大多數情況下”./”可

原创 MobaXterm學習與使用

轉載地址: MobaXterm學習與使用 首先要弄清幾個概念 1.先來看看SSH是什麼,定義如下:     SSH是一種可以保證用戶遠程登錄到系統的協議。實際上,SSH是一個網絡協議,允許通過網絡連接到Linux和Unix服務器。SSH使

原创 Linux常用命令及其英文全稱

轉載網址:Linux常用命令及其英文全稱   alias:給命令起別名 awk = "Aho Weiberger and Kernighan" ,三個作者的姓的第一個字母 bash:GNU Bourne-Again Shell,大多Lin

原创 ARM Cortex-M memcoy的效率

c語言示例1如下: void mem_cpy(void *Dst,const void *Src,unsigned int size) { unsigned int i; unsigned char *pDst = (u

原创 ARM Cortex-M:結構體 vs 分散變量

  以下運行環境爲Cortex-M4內核,編譯環境爲Keil MDK並且優化級別爲-O2。 靜態變量使用結構體表示的代碼無論在space上還是speed上都要優於分散變量,應當儘量使用結構體。對於局部變量採用結構體還是分散變量並沒有什麼區

原创 ARM Cortex-M設備重啓從特定位置運行

在項目開發中,有些設備在接收到相關指令或者遇到某種中斷觸發後需要重啓。如果從程序入口處進行啓動,會有一段比較長的時間進行初始化工作,相當浪費時間。重啓的位置可以從初始化後的特定位置重新運行,這就需要把當前的程序計數器PC及堆棧SP指針進行

原创 ARM Cortex-M底層技術(十三)手把手教你寫分散加載

轉載地址:  手把手教你寫分散加載 還記得之前教大家寫的啓動代碼嗎?木看過滴,出門左轉,第四篇【編寫自己的啓動代碼】,當然僅僅能編寫自己的啓動代碼怎麼夠,說了那麼多分散加載的東東,是時候檢驗一下我們的水平了,合上書,來出題考試了~【自己編

原创 ARM Cortex-M底層技術(十二)KEIL MDK 分散加載-堆棧與預處理器

轉載地址:   分散加載-堆棧與預處理器 在分散加載中處理堆棧: 分散加載機制提供了一種方法,用於指定如何在映像中放置代碼和靜態分配數據。 應用程序的堆棧和堆是在 C 庫初始化過程中設置的。 通過使用特別命名的ARM_LIB_HEAP、A

原创 ARM Cortex-M底層技術(十一)KEIL MDK 分散加載示例3-單獨函數/變量的指定加載

轉載地址:  單獨函數/變量的指定加載 小編我一向主張在實戰中學習,不主張直接去去學習規則&定義,太枯燥,在實際應用中去摸索,纔會真正理解具體的技術細節,下面我們就通過實際的簡單用例來搞清楚分散加載。 將函數和變量放到特定的指定加載地址的

原创 ARM Cortex-M底層技術(八)KEIL MDK 分散加載-2-語法

轉載地址:  KEIL MDK 分散加載的結構-2-語法   語法、枯燥的、煩人的語法……,但是有些時候木有辦法,我本來也不想寫這些東西,但確實繞不過去,我認爲把它當成一種工具比較合適,瞭解大概結構以及基本的語法,一些細節沒必要記的那麼清

原创 ARM Cortex-M底層技術(九)KEIL MDK 分散加載示例1-更改程序運行基址

轉載地址:  KEIL MDK 分散加載示例1-更改程序運行基址 小編我一向主張在實戰中學習,不主張直接去去學習規則&定義,太枯燥,在實際應用中去摸索,纔會真正理解具體的技術細節,下面我們就通過實際的簡單用例來搞清楚分散加載。 更改程序運