原创 STM32具備升級功能的bootloader及APP/IAP的實現

本文介紹如何在STM32上實現升級功能,程序包括:bootloader和APP(也叫IAP, In Application Programming),基於STM32F103RCT6型號的MCU作爲實驗平臺,以STM32CubeMX工具進行

原创 Linux C: container_of()和offsetof()函數與結構體成員的偏移量計算

就內核的container_of()函數,發表一下個人見解。 在內核中,多處地方用到container_of()這個函數(如內核鏈表), 其定義在內核代碼 include/linux/kernel.h中: /** * containe

原创 開源畢業設計:基於嵌入式ARM-Linux的應用OpenCV和QT實現的人臉識別系統(源碼+論文)

畢業一載有餘,把畢業設計作品分享一下,希望能幫助到有需要的同學們。 溫馨提示:資料獲取見文章底部。   簡介: 本設計基於linux操作系統,由客戶端(門禁設備)和服務器(後臺處理中心)組成,通過以太網形成組網,實現一個人臉識別門禁系統。

原创 Linux驅動:Tiny4412開發板上點亮LED燈程序(GPIO驅動)

上篇博文以globalmem爲例實現了一個虛擬的字符設備驅動,本文將在上文的基礎上,以點亮LED實例來介紹GPIO字符設備驅動,將不重複上篇相同內容。 環境:主機-Ubuntu 16.04,開發板-友善之臂tiny4412開發板,內核版本

原创 Qt5學習筆記1:Ubuntu安裝Qt creator及創建第一個hello world工程

前言:大學做畢設的時候搞過一段時間的QT,記得當時時間急匆匆忙忙地應付式完成了,最終Qt掌握得不3不4,現在決定:從零開始學習Qt。fight for Qt together ...   環境: Ubuntu-16.04   一、下載Do

原创 Qt5學習筆記2:Qt (Creator)工程簡介-- -xxx.pro、xxx.ui文件及main()

本文對一個簡單的Hello world工程進行解析,從而對Qt工程項目有一個總體的認識。 在上篇Qt5教程1中創建了一個簡單的Hello world工程,如圖: 本文主要從xxx.pro文件、xxx.ui文件、main()函數進行解析。

原创 linux驅動:編寫最簡單的內核模塊helloWorld並移植到ARM板

環境:主機-Ubuntu 16.04,開發板-友善之臂tiny4412開發板,內核版本linux-3.5 參考《Linux設備驅動開發詳解 基於最新的Linux 4.0內核》(宋寶華 編著)   一、簡介 一個Linux內核模塊主要由以下

原创 Qt5學習筆記3:Qt的ui界面文件與程序源代碼的生成關係及訪問

首先,按照前面章節的方法,創建一個工程demo,位於目錄demo/下,然後直接編譯運行。彈出一個空窗口,如下: 工程項目在Qt creator的管理界面顯示如下: 在工程目錄demo/下,生成了兩個文件夾:build-xxx-Debu

原创 linux字符設備驅動模型簡介及其實現方法(globalmem例程)

環境:主機-Ubuntu 16.04,開發板-友善之臂tiny4412開發板,內核版本linux-3.5 參考《Linux設備驅動開發詳解基於最新的Linux 4.0內核》(宋寶華編著) 字符設備驅動,在Linux設備驅動中較爲基礎,本文

原创 零基礎畢設教程:Linux環境用Opencv與Qt實現的人臉識別的考勤點名/門禁系統(PC與嵌入式ARM版本)

前言: 本人畢業設計作品:開源源碼!+論文!詳情請點擊鏈接 開源畢業設計:基於嵌入式ARM-Linux的應用OpenCV和QT實現的人臉識別系統(源碼+論文) 是一個人臉識別的門禁系統,完整實現人臉的添加、刪除、識別、管理等功能。 鑑於前

原创 linux字符設備驅動簡介及其實現方法(例程)

環境:主機-Ubuntu 16.04,開發板-友善之臂tiny4412開發板,內核版本linux-3.5 參考《Linux設備驅動開發詳解基於最新的Linux 4.0內核》(宋寶華編著) 字符設備驅動,在Linux設備驅動中較爲基礎,本文

原创 畢業設計:基於ARM-Linux的應用OpenCV和QT實現的人臉識別門禁系統

畢業一載有餘,把畢業設計作品分享一下,希望能幫助到有需要的同學們。 資源下載:鏈接見底部(源碼+論文)   簡介: 本設計基於linux操作系統,由客戶端(門禁設備)和服務器(後臺處理中心)組成,通過以太網形成組網,實現一個人臉識別門禁系