原创 ARM Cortex-M底層技術(八)KEIL MDK 分散加載-2-語法

  KEIL MDK 分散加載的結構-2-語法 語法、枯燥的、煩人的語法……,但是有些時候木有辦法,我本來也不想寫這些東西,但確實繞不過去,我認爲把它當成一種工具比較合適,瞭解大概結構以及基本的語法,一些細節沒必要記的那麼清楚,遇到問題的

原创 C字符數組賦值

舉例如下: char a[10]; 1、定義的時候直接用字符串賦值 char a[10]="hello"; 注意:不能先定義再給它賦值,如  char a[10];  a[10]="hello"; 這樣是錯誤的! 2、對數組中字符逐個賦值

原创 CubeMX create CAN

   一直用CubeMX做一些配置底層代碼的工作,用來測試一些外設。學習CubeMX一直用的是微雪的資料,很良心指導,也分享給 大家。但是其中在CAN的配置的時候發現,由於HAL庫的更新,微雪部分代碼沒有及時更新,所以我在CAN測試的時候

原创 ARM Cortex-M底層技術(七)KEIL MDK 分散加載-1-分散加載的結構

    KEIL MDK 分散加載的結構      1、我們先來解剖一隻麻雀         很多人會說我做項目時沒用過分散加載啊,可能有些人甚至都不知道它的存在。事實上,開發環境會默認生成一個分散加載文件(或者叫鏈接器描述文件),你使用

原创 內聯函數 —— C 中關鍵字 inline 用法解析

一、什麼是內聯函數        在C語言中,如果一些函數被頻繁調用,不斷地有函數入棧,即函數棧,會造成棧空間或棧內存的大量消耗。        爲了解決這個問題,特別的引入了inline修飾符,表示爲內聯函數。        棧空間就是

原创 MDK 用Jlink調試無法使用斷點

之前調試出現一個問題,編譯好程序再點擊keil5的Debug選項,發現keil無法進行步進調試。 上面圈住的部分顯示Debug進入之後,連程序執行的顯示選擇區域的顏色顯示都沒有。 然後看了一些博友的文章,是Options fo

原创 C/C++ 運算符優先級

C運算符 很多時候寫程序大家會認爲自己比較熟悉運算優先級,會寫不帶括號進行限制的程序,有時候一不小心,代碼執行邏輯就是天差地別。   *this->p_write_it_++ = a_d; 上面代碼是先++還是先*賦值數據呢?

原创 IAR配色方案

分享自己用的IAR配色方案 IAR版本:8.20.1,其它版本配置方法類似 第一步:點擊Tools->options   第二步:選擇Editor->Colors and Fonts設置 Editor Font 是對代碼字體進行設置

原创 ARM Cortex-M底層技術(六)分散加載的簡單介紹

  分散加載原理的簡單介紹     分散加載我自己在最初學習這部分內容的時候在網上找吐血了都沒找到很靠譜的深入的文章,基本看之前不懂,看完了就更不懂了,後來只能硬着頭皮自己慢慢摸索,也花了很多功夫,這裏跟大家系統的分享一下,小編我會分成幾

原创 ARM Cortex-M底層技術(十四)KEIL MDK 調試技術-1 【調試技術簡介】

  ARM Cortex-M底層技術(十四)KEIL MDK 調試技術-1 【調試技術簡介】     最近懶癌上身,N久都沒有寫東西了,我對不起祖國,對不起黨,剛好趕在十一,祖國都69(注意是歲數不是姿勢……)了,我實在不好意思再偷懶了,

原创 ARM Cortex-M底層技術(十一)KEIL MDK 分散加載示例3-單獨函數/變量的指定加載

  分散加載示例3-單獨函數/變量的指定加載     小編我一向主張在實戰中學習,不主張直接去去學習規則&定義,太枯燥,在實際應用中去摸索,纔會真正理解具體的技術細節,下面我們就通過實際的簡單用例來搞清楚分散加載。  將函數和變量放到特定

原创 ARM Cortex-M底層技術(十二)KEIL MDK 分散加載-堆棧與預處理器

  在分散加載中處理堆棧:     分散加載機制提供了一種方法,用於指定如何在映像中放置代碼和靜態分配數據。 應用程序的堆棧和堆是在 C 庫初始化過程中設置的。 通過使用特別命名的ARM_LIB_HEAP、ARM_LIB_STACK 或

原创 C語言中的typeof關鍵字

typeof關鍵字是C語言中的一個新擴展。 參考:http://gcc.gnu.org/onlinedocs/gcc/Typeof.html#Typeof typeof的參數可以是兩種形式:表達式或類型。 下面是使用表達式的的例子:  

原创 使用TrueSTUDIO開發NUCLEO-F746ZG入門指南

  所需硬件 1.  STM32F746 Nucleo - 144 F746ZG開發板; 2.  Micro USB線纜。 內容簡介 Nucleo - F746ZG開發板使用意法半導體公司的基於ARM Cortex M7內核的微控制器S

原创 出現Could not get lock /var/lib/dpkg/lock 資源鎖定情況解決

在操作Ubuntu 終端下執行sudo apt install XXX 時候出現以下警告 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily