分享一個超棒的stm32的開源usb-can項目
照理來說,USB-CAN這種東西應(yīng)該已經(jīng)被做的爛大街的工具,國內(nèi)居然沒有一個拿得出手的開源方案。某立....
ToolKit是一套應(yīng)用于嵌入式系統(tǒng)的通用工具包
ToolKit是一套應(yīng)用于嵌入式系統(tǒng)的通用工具包,可靈活應(yīng)用到有無RTOS的程序中,采用C語言面向?qū)?...
基于串口環(huán)形隊列的IAP實現(xiàn)
我這里主要是記錄一下我所使用的方法,調(diào)試也花了兩天時間。
循環(huán)隊列C語言面向?qū)ο髮崿F(xiàn)
而我已經(jīng)按照更面向?qū)ο蟮姆椒ù蟾牧嗽瓉淼哪莻€環(huán)形緩沖區(qū)模塊,考慮到整個結(jié)構(gòu)已經(jīng)完全不同了,所以直接棄....
分享一下C語言日志分級
參考一些高級語言的分級日志設(shè)計,我們根據(jù)對程序運(yùn)行信息的類型把控,可以把日志分為5個級別DEBUG、....
嵌入式開發(fā)模塊指南:通用接收狀態(tài)機(jī)模塊
在軟件開發(fā)的過程中,只要涉及到通信,就會涉及到數(shù)據(jù)接收機(jī)的編寫,通信協(xié)議雖然多種多樣,但是數(shù)據(jù)包的形....
FreeRTOS任務(wù)間通信,怎么實現(xiàn)?
FreeRTOS 是一個可裁剪、可剝奪型的多任務(wù)內(nèi)核,十分好用,而且沒有任務(wù)數(shù)限制,在此之前分析過很....
段錯誤以及調(diào)試方法
產(chǎn)生的原因:訪問不存在的內(nèi)存地址、訪問系統(tǒng)保護(hù)的內(nèi)存地址 、訪問只讀的內(nèi)存地址、空指針廢棄(eg:m....
C語言的驅(qū)動法編程詳細(xì)解析分享
使用表驅(qū)動法時需要關(guān)注兩個問題:一是如何查表,從表中讀取正確的數(shù)據(jù);二是表里存放什么,如數(shù)值或函數(shù)指....
基于IAR的Cortex-M/R內(nèi)核程序啟動流程
在系統(tǒng)啟動期間,進(jìn)入 main() 函數(shù)之前執(zhí)行初始化序列。 初始化序列處理目標(biāo)硬件和 C/C++ ....
狀態(tài)機(jī)編程的優(yōu)點(diǎn)是什么
話說我只要見到滿篇都是delay_ms()的程序就會頭疼,動輒十幾個ms幾十個ms的軟件延時是對CP....
ARM中關(guān)鍵字的具體使用
今天在使用 Keil (主要是 armcc 編譯器)編譯代碼(華大的 MCU 驅(qū)動庫hc32f46x....
Cortex-M內(nèi)核中斷/異常系統(tǒng)、中斷優(yōu)先級/嵌套詳解
最近在使用 STM32F3 芯片的時候,遇到這樣一個問題:如果外部中斷來的頻率足夠快,上一個中斷沒有....
什么是版本控制系統(tǒng)?
分支就是科幻電影里面的平行宇宙,當(dāng)你正在電腦前努力學(xué)習(xí)Git的時候,另一個你正在另一個平行宇宙里努力....
ARM通用寄存器及狀態(tài)寄存器詳解
筆者來聊聊ARM通用寄存器以及狀態(tài)寄存器的認(rèn)識與理解。
Keil項目/生成的各種文件類型(.AXF、.D、.crf、.exf)說明
.UVMPW:用于多個項目的 μVision4 項目文件(工作空間項目文件)。包含對其他項目文件的引....
ELF文件、鏡像(Image)文件、可執(zhí)行文件、對象文件詳解
ELF(Executable and Linking Format)是一個二進(jìn)制文件規(guī)范。用于定義不....
聊聊程序分散加載啟動的奧秘
程序是靜態(tài)的概念,有數(shù)據(jù)有代碼,都是存在不同的區(qū)域,但是進(jìn)程是動態(tài)的概念,主進(jìn)程在運(yùn)行的時候,會實際....
神器必會!特別好使的編輯器Source Insight
“Source Insight(以下簡稱SI)是世界上最好的編輯器”,說這句話不知道會不會出門被打呢....
如何設(shè)定PendSV優(yōu)先級?
保存PSP到R0。為什么是PSP而不是MSP。因為在OS啟動的時候,我們已經(jīng)把SP設(shè)置為PSP了。這....
使用DFU方案實現(xiàn)STM32單片機(jī)的高級開發(fā)
DFU全稱為Device Firmware update,是ST官方推出的一個通過USB接口進(jìn)行....
C語言面向?qū)ο缶幊痰淖罴褜嵺`
以STM32為例,打開網(wǎng)絡(luò)上下載的例程或者是購買開發(fā)板自帶的例程,都會發(fā)現(xiàn)應(yīng)用層中會有stm32f1....
幾種用jLink命令行燒錄hex文件的方法
工廠使用j-flash工具進(jìn)行燒錄,發(fā)現(xiàn)燒錄后的數(shù)據(jù)和發(fā)布的hex文件數(shù)據(jù)對應(yīng)不上,經(jīng)過深入對比和分....
UDP/TCP包的大小限制是多少?
結(jié)論是顯而易見的,這個數(shù)據(jù)包會被再次分片,更重要的是,這種情況下,如果 IP 包被設(shè)置了“不允許分片....
使用分散文件指定棧和堆創(chuàng)建root執(zhí)行區(qū)
您可以FIXED在執(zhí)行區(qū)分散文件中使用該屬性來創(chuàng)建在固定地址加載和執(zhí)行的根區(qū)。FIXED用于在單個加....
gcc的編譯選項總結(jié)
本文用于記錄我在學(xué)習(xí)和工作中遇到的各種GCC選項,雖然這些選項可以在GNU的手冊上查到,不過這里做個....
SVN與Git的最主要的區(qū)別
人如何協(xié)作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的....
如何使用CubeMx生成一個DFU工程
DFU用來做IAP是很方便的,可以直接通過USB來對APP進(jìn)行升級,因此,掌握DFU的制作還是挺有好....