原创 【嵌入式Linux驅動開發】十三、GPIO按鍵中斷驅動程序編寫

這個世界是由概率學統治的,所以每一個成功的人,都應該心懷疚歉和感恩,致敬和他們一樣野心聰明勤奮堅持,卻沒有得到概率女神青睞的人們。文章目錄零、寫在前面的話一、按鍵驅動框架1.1 LED驅動回顧1.2 按鍵驅動編寫思路二、編程2.1 設備樹相

原创 【嵌入式Linux驅動開發】十六、Linux中的阻塞IO與非阻塞IO

有志不在年高,羅成少年統兵馬。得道何須深山,老君立地曉陰陽文章目錄一、阻塞和非阻塞IO1.1 等待隊列 - 阻塞IO1.2 輪詢 - 非阻塞IO1.2.1 非阻塞訪問 - select函數1.2.1 非阻塞訪問 - poll函數1.2.1

原创 【嵌入式Linux驅動開發】十八、Linux內核自帶的LED驅動探索

人生短短如電光,虛度光陰使人傷。但凡成才之偉器,莫不單日當一雙。兼程而進倍努力,勇往直前向前方。用好分秒餘時隙,方可粒米積成倉。文章目錄一、 Linux 內核自帶 LED 驅動使能二、Linux內核自帶LED驅動分析三、設備樹節點編寫四、運

原创 【嵌入式Linux驅動開發】番外一、ioctl 系統調用詳細解析

勞勞車馬未離鞍,臨事方知一死難。三百年來傷國步,八千里外弔民殘。秋風寶劍孤臣淚,落日旌旗大將壇。海外塵氛猶未息,請君莫作等閒看。—李鴻章口占七律文章目錄一、ioctl系統調用1.1 ioctl 命令構成1.2 構造ioctl命令1.3 解析

原创 【嵌入式Linux驅動開發】十四、瞭解Linux內核定時器使用流程,實現LED閃爍

致敬英雄!文章目錄一、Linux內核定時器初探1.1、圖形界面配置系統節拍率1.2、重要全局變量`jiffies`1.3、內核定時器中斷1.4、ioctl 簡單介紹1.4.1 應用程序 ioctl 函數1.4.2 驅動程序 ioctl 函數

原创 【嵌入式Linux驅動開發】十九、Linux MISC 雜項驅動

人生從來少坦途,無過之人自古無。與其頓足深奧惱,不若取訓思克服。達明觀事向前看,積極樂觀煩惱除。他人之議何足論,自得其樂真幸福。文章目錄一、Linux MISC 雜項驅動介紹二、編寫程序2.1、驅動程序2.2、應用程序三、運行程序一、Lin

原创 【嵌入式Linux驅動開發】二十一、Linux內核自帶的KEY驅動探索

君子應知進退方,時機不到且隱藏。妝未梳成未見客,勢弱稍時斂鋒芒。腹隱良謀待機至,東山再起鬥志昂。遙想曹劉煮酒事,高明劉備扮愚郎。文章目錄一、 Linux 內核自帶 KEY 驅動使能二、Linux內核自帶KEY驅動分析三、設備樹節點編寫一、

原创 【嵌入式Linux驅動開發】二十三、Linux RTC 驅動

待機而舉是良謀,成竹在胸方可求。默默無聞積實力,時成奮起定春秋。夕楚莊王初登位,三載不發號令休。不鳴則已鳴即震,一舉伐齊勝徐州。文章目錄一、Linux 內核 RTC 驅動簡介二、RTC 時間查看與設置2.1、查看RTC時間2.2、設置RTC

原创 【嵌入式Linux學習】Linux系統移植筆記之U-boot學習

燒寫系統在window下燒寫,通過mfgtool這個工具,先將Linux系統燒寫到DDR中,再燒寫到EMMC或NAND中mfgtool這個工具會將uboot、zImage、rootfs全部燒寫,所以後期當我們只更新一個uboot,可能全部都

原创 【嵌入式Linux驅動開發】十二、一文帶你瞭解Linux開發中的中斷

一個能思想的人,才真是一個力量無邊的人。一、Cortex-A7系列中斷介紹Cortex-A7內核只有8個異常中斷,這8個異常中斷的中斷向量表如下:向量地址終端類型中斷模式0x00復位中斷(Rest)特權模式(SVC)0x04未定義指令中斷(

原创 【SoC FPGA學習】一、AC501-SOC硬件初探,基礎掃盲

少一些功利主義的追求,多一些不爲什麼的堅持。本系列學習筆記基於小梅哥SOC Cyclone V SoC開發板。年前朋友便把開發板寄給我玩了,可我手殘的扔到了學校吃灰。沒錯,該系列可能是沒有開發板的學習筆記,hhh…一、什麼是SoC FPGA

原创 【嵌入式Linux驅動開發】十一、Linux併發與競爭 - 原子操作、自旋鎖、信號量、互斥體

一、原子操作原子整形操作API函數描述ATOMIC_INIT(int i)定義原子變量的時候對其初始化。int atomic_read(atomic_t *v)讀取 v 的值,並且返回。void atomic_set(atomic_t *v

原创 【嵌入式Linux驅動開發】三、點亮LED,初探驅動與硬件交互

總盯着過去,你會瞎掉一隻眼;然而忘掉歷史,你會雙目失明。一、IMX6ULL的GPIO操作流程1.1 IMX6ULL 的 GPIO 模塊結構閱讀IMX6ULL的參考手冊,我們可以知道IMX6ULL共有 5 組 GPIO( GPIO1~GPI

原创 【嵌入式Linux驅動開發】八、LED驅動盡善盡美 - 設備樹點亮一盞假的LED

如果我所做的每一件事都要對我的人生有用,那我的人生到底是什麼呢?賺更多的錢?開更好的車?住更大的房子?這些鬼東西就是我的人生麼?一、回顧編寫驅動的三種方法1、資源和驅動在同一個文件裏2、資源用Platform_device指定,驅動在Pla

原创 【嵌入式Linux驅動開發】一、虛擬開發板QEMU IMX6ULL搭建

本來花了大價錢買了原子哥的Linux開發板,寒假前以爲很快就能返校,所以果斷把板子留在了學校。人算不如天算,2020這個大災大難的鼠年這麼不太平,這段時間真是閒夠了,是時候走出舒適區,繼續學習Linux了!本文參考韋東山老師製作的qemu虛