原创 getopt_long 示例

static void usage(const char* name) { int i = 0; printf("%s\n\n", name); printf("usage: %s [OPTIONS]\n\n", name)

原创 bash remove 驅動

# Remove the existing xdma kernel module lsmod | grep some_driver_xx if [ $? -eq 0 ]; then rmmod some_driver_xx fi

原创 posix_memalign解析

轉載:http://hi.baidu.com/freelonely/blog/item/340341077c4d287302088189.html 預對齊內存的分配 在大多數情況下,編譯器和C庫透明地幫你處理對齊問題。POSIX 標明瞭通

原创 getopt_long 實例代碼

static struct option const long_opts[] = { {"device", required_argument, NULL, 'd'}, {"address", required_argument

原创 scf 簡析

Scatter-Load Description File的結構: ".scf"文件中的"+RW"對應".s"源文件中的"READWRITE". ".scf"文件中的"+ZI"對應".s"源文件中的"NOINIT". ".scf"文件中的

原创 bash 控制root權限執行

# Make sure only root can run our script if [[ $EUID -ne 0 ]]; then echo "This script must be run as root" 1>&2

原创 【RT-Thread筆記】對象容器與雙鏈表

前言 在我們嵌入式中,可能會有些人認爲數據結構與算法相關知識沒什麼用,很少用得上。 以前,我也是這麼認爲的,那東西那麼難學,好像又用不上,學了有什麼用,乾脆就不學了。 直到後面深入學習一些東西之後發現,原來那些知識並不是沒有用,只是當時我

原创 RT-Thread 內核移植學習

最近在看RT_THread, 其中對於內核的移植,感覺需要非常瞭解CPU架構,彙編指令集,這邊就以官方wiki文檔學習理解。 先放上原文,之後有疑問的地方對文檔做批註來加深學習。   經過前面內核章節的學習,大家對 RT-Thread 也

原创 指令集與微架構 掃盲

作者:王強 鏈接:https://zhuanlan.zhihu.com/p/19893066 來源:知乎 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 隨着智能設備的廣泛普及,這幾年媒體上越來越多的出現關於“架構”

原创 遇到指針別害怕!先把這篇筆記看一遍~

指針在C語言中是一塊很重要的內容,也是比較難理解的一塊內容,我們需要反覆學習反覆鞏固纔可以對其有所瞭解。 之前也分享過指針相關的筆記,但是都比較雜,本篇筆記彙總一下指針相關的內容,包含了挺多指針相關的基礎知識點。筆記有點長,可以收藏下來慢

原创 動態DMA映射指南

上接:DMA映射   Dynamic DMA mapping Guide 一、前言 這是一篇指導驅動工程師如何使用DMA API的文檔,爲了方便理解,文檔中給出了僞代碼的例程。另外一篇文檔dma-api.txt給出了相關API的簡明描述,

原创 迴歸基礎 —— 指針和數組的定義與聲明

一、序 之前在編程中時刻謹記數組或者指針的申明和定義要保持一致,即 /*數組定義與聲明*/ // file.c char arr[] = "abcdef"; //file.h char arr[]; /*指針定義與聲明*/ //

原创 數組越界引起的異常

一、引言       在提供給客戶的bin檔突然在最新版就不能用了,而客戶提供的出錯log 跟bin 檔本身的功能卻一點也沒有關係,最後只能一點點回退修改的代碼來排查,最終定位的問題確是數組越界導致的異常。   二、問題追溯     在當

原创 面向對象 C的一種實現方式

摘要https://dmitryfrank.com/articles/oop_in_c的關鍵內容,做一下筆記~ 一.類的封裝 通過結構體封裝類,將私有變量放入結構體中。每一個結構體變量對應一個對象,提供setter / getter /

原创 assert()使用

一、什麼是assert()? 編寫代碼時,我們總是會做出一些假設,斷言(assert)就是用於在代碼中捕捉這些假設,可以將斷言看作是異常處理的一種高級形式。 斷言表示爲一些布爾表達式,程序員相信在程序中的某個特定點該表達式值爲真。可以在任