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