原创 Linux下STM32開發(1)——編譯和燒錄環境搭建

一、搭建準備 1、系統環境:虛擬機+ubuntu 2、編譯工具鏈:gcc-arm-none-eabi   3、下載工具:OpenOCD(支持stlink,ulink,jlink等) 、STM32CubeProgrammer(僅支持ST-

原创 Linux下STM32開發(2)——簡單工程編寫、編譯與下載(Makefile)

一、先搭建好環境: Linux下STM32開發(1)——編譯和燒錄環境搭建   二、需要的文件: (1)啓動文件:startup_stm32f10x_hd.s (2)鏈接文件:stm32_flash.ld (3)c源碼文件:main.c

原创 Linux 內存相關問題彙總

linux 內存是後臺開發人員,需要深入瞭解的計算機資源。合理的使用內存,有助於提升機器的性能和穩定性。本文主要介紹 linux 內存組織結構和頁面佈局,內存碎片產生原因和優化算法,linux 內核幾種內存管理的方法,內存使用場景以及內存

原创 Linux 併發與競爭

Linux 系統是個多任務操作系統,會存在多個任務同時訪問同一片內存區域,這些任務可能會相互覆蓋這段內存中的數據,造成內存數據混亂。針對這個問題必須要做處理,嚴重的話可能會導致系統崩潰。 Linux 系統併發產生的主要原因: 多線程併

原创 Linux 內核(Kernel)組成分析

一、Linux內核簡介 Linux 內核採用宏內核架構,即 Linux 大部分功能都會在內核中實現,如進程管理、內存管理、設備管理、文件管理以及網絡管理等功能,它們是運行在內核空間中(也可以稱之爲特權模式下運行)。 而微內核,它僅僅是將內

原创 【Linux驅動開發】設備樹下的 LED 驅動實驗

一、修改測試設備樹文件 1、修改 arch/arm/boot/dts/imx6ull-iot-emmc.dts 文件 在根節點“/”下創建“iotled”子節點 /*添加字節點-led*/ iotled { #address

原创 【Linux驅動開發】引入 pinctrl 子系統 和 gpio 子系統——LED實驗

一、引入 pinctrl 子系統 與 gpio 子系統 詳情參考文章:pinctrl 子系統 與 gpio 子系統       二、修改測試設備樹文件 1、添加 pinctrl 節點 打開 imx6ull-iot-emmc.dts,在

原创 【Linux驅動開發】pinctrl 子系統 與 gpio 子系統

一、pinctrl 子系統 (1)pinctrl 子系統簡介 pinctrl 子系統源碼目錄爲 drivers/pinctrl 。 pinctrl 子系統重點是設置 PIN( PAD )的複用和電氣屬性。 pinctrl 子系統主要工作內

原创 【Linux驅動開發】新字符設備驅動

register_chrdev(註冊字符設備) 和 unregister_chrdev(註銷字符設備) 是老版本驅動使用的函數,現在新的字符設備驅動已經不再使用這兩個函數,而是使用Linux內核推薦的新字符設備驅動API函數。 一、啓動系

原创 keil軟件仿真打印輸出配置

一、Debug選項卡配置: 1、選擇 Use Simulator 2、Dialog DLL改爲 DARMSTM.DLL 3、Parameter改爲 -pSTM32F103ZE 二、初始化串口一配置參數 三、打開串口一輸出窗口 四、開

原创 【Linux驅動開發】第一個設備驅動開發——LED驅動

一、啓動系統 Linux 系統選擇通過 TFTP 從網絡啓動,並且使用 NFS 掛載網絡根文件系統 (1)設置 bootargs 環境變量,根文件系統從 nfs/roofts 啓動 setenv bootargs 'console=tt

原创 MMU內存管理單元簡介

MMU 全稱叫做 Memory Manage Unit,也就是內存管理單元。 在老版本的 Linux 中要求處理器必須有 MMU,但是現在 Linux 內核已經支持無 MMU 的處理器了。 MMU 主要完成的功能如下: ①完成虛擬空間

原创 ESP8266開發——安信可IDE使用

關於 Problems 報錯 注意:Eclipse 只是一個代碼編寫工具,它並不能讀取 makefile 裏面的一些配置,甚至它會讀取到 cygwin 下同名稱的頭文件。 針對該現象引起的報錯,我們建議用戶在使用該 IDE 時,直接將 P

原创 ESP8266開發——安信可IDE環境搭建

安信可 ESP 系列一體化開發環境是安信可科技爲方便不熟悉linux平臺下開發的廣大用戶而推出的基於 Windows + Msys32 + Eclipse + GCC 的綜合 IDE 環境注意:eclipes的打開必須事先自行搭建 jav

原创 profile文件修改出錯無法進入Ubuntu的解決辦法

現象:Ubuntu輸入密碼正確,但是進不去系統,一直在登錄界面循環。 (1)進入tty下 : ctrl+alt+F1(F1-F6)  (2)發現“ls”,“vi”等命令都無法使用 錯誤提示:The command count not b