分享一個超棒的stm32的開源usb-can項目
照理來說,USB-CAN這種東西應該已經被做的爛大街的工具,國內居然沒有一個拿得出手的開源方案。某立....
ToolKit是一套應用于嵌入式系統的通用工具包
ToolKit是一套應用于嵌入式系統的通用工具包,可靈活應用到有無RTOS的程序中,采用C語言面向對....
循環隊列C語言面向對象實現
而我已經按照更面向對象的方法大改了原來的那個環形緩沖區模塊,考慮到整個結構已經完全不同了,所以直接棄....
分享一下C語言日志分級
參考一些高級語言的分級日志設計,我們根據對程序運行信息的類型把控,可以把日志分為5個級別DEBUG、....
嵌入式開發模塊指南:通用接收狀態機模塊
在軟件開發的過程中,只要涉及到通信,就會涉及到數據接收機的編寫,通信協議雖然多種多樣,但是數據包的形....
FreeRTOS任務間通信,怎么實現?
FreeRTOS 是一個可裁剪、可剝奪型的多任務內核,十分好用,而且沒有任務數限制,在此之前分析過很....
C語言的驅動法編程詳細解析分享
使用表驅動法時需要關注兩個問題:一是如何查表,從表中讀取正確的數據;二是表里存放什么,如數值或函數指....
基于IAR的Cortex-M/R內核程序啟動流程
在系統啟動期間,進入 main() 函數之前執行初始化序列。 初始化序列處理目標硬件和 C/C++ ....
ARM中關鍵字的具體使用
今天在使用 Keil (主要是 armcc 編譯器)編譯代碼(華大的 MCU 驅動庫hc32f46x....
Cortex-M內核中斷/異常系統、中斷優先級/嵌套詳解
最近在使用 STM32F3 芯片的時候,遇到這樣一個問題:如果外部中斷來的頻率足夠快,上一個中斷沒有....
Keil項目/生成的各種文件類型(.AXF、.D、.crf、.exf)說明
.UVMPW:用于多個項目的 μVision4 項目文件(工作空間項目文件)。包含對其他項目文件的引....
ELF文件、鏡像(Image)文件、可執行文件、對象文件詳解
ELF(Executable and Linking Format)是一個二進制文件規范。用于定義不....
聊聊程序分散加載啟動的奧秘
程序是靜態的概念,有數據有代碼,都是存在不同的區域,但是進程是動態的概念,主進程在運行的時候,會實際....
神器必會!特別好使的編輯器Source Insight
“Source Insight(以下簡稱SI)是世界上最好的編輯器”,說這句話不知道會不會出門被打呢....
如何設定PendSV優先級?
保存PSP到R0。為什么是PSP而不是MSP。因為在OS啟動的時候,我們已經把SP設置為PSP了。這....
使用DFU方案實現STM32單片機的高級開發
DFU全稱為Device Firmware update,是ST官方推出的一個通過USB接口進行....
C語言面向對象編程的最佳實踐
以STM32為例,打開網絡上下載的例程或者是購買開發板自帶的例程,都會發現應用層中會有stm32f1....
幾種用jLink命令行燒錄hex文件的方法
工廠使用j-flash工具進行燒錄,發現燒錄后的數據和發布的hex文件數據對應不上,經過深入對比和分....
UDP/TCP包的大小限制是多少?
結論是顯而易見的,這個數據包會被再次分片,更重要的是,這種情況下,如果 IP 包被設置了“不允許分片....
使用分散文件指定棧和堆創建root執行區
您可以FIXED在執行區分散文件中使用該屬性來創建在固定地址加載和執行的根區。FIXED用于在單個加....
SVN與Git的最主要的區別
人如何協作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的....
如何使用CubeMx生成一個DFU工程
DFU用來做IAP是很方便的,可以直接通過USB來對APP進行升級,因此,掌握DFU的制作還是挺有好....