公告版位
從小害怕寫作文, 文筆不佳到現在, 還請各位讀者大大:
1. 發現有錯誤, 請留言告知. (或者你 '覺得' 不對也行)
2. 用字措辭不當, 請留言告知.
3. 有看沒有懂? 幫到忙也好, 幫倒忙也罷, 總之留個言吧.

用 pixnet 差不多二年了, 不過最近發現 pixnet 手機版的後台系統一直在更動, 而且是 "走火入魔" 式的更動.


  • 一開始手機版的 CSS 檔和電腦版用的 CSS 檔不同 (這個可以理解)
  • 但卻沒有地方讓使用者修改/擴充手機版的 CSS (這個讓我有點傻眼)
  • 客服的回應似乎是公司不打算提供... (有點生氣了)

由於 pixnet 圖片區不支援 SVG 上載, 部落格區不給上載 CSS 檔, JS 檔, 更不用說字型檔了. 再加上個人一直習慣直接用 HTML code 配合自訂的 CSS 寫部落格, 為了解決手機和電腦二邊 CSS 不一致的問題, 我只好找個網路硬碟空間, 把共用的 CSS 載上去, 再逐篇修改 post 的文章, 加入 <link> tag 來下載自訂的 CSS.

文章標籤

MagicJackTing 發表在 痞客邦 留言(3) 人氣()

如果你覺得廣告很煩...

你有注意到了嗎? 我的部落格沒廣告.

如何移除本文下方的廣告



請選擇 '側邊欄位設定', 進入 '頁尾描述' 的 '設定', 並貼上以下的 javascript, 並選擇 '開啟'.

文章標籤

MagicJackTing 發表在 痞客邦 留言(14) 人氣()

C 語言的編譯器有一個內建的巨集 sizeof() 可以用來取得配置給變數的記憶體大小. 例如:

    uint32_t varX = 1234;
    int      size;

    size = sizeof(varX);

這樣變數 size 所存儲的數值就會是變數 varX 到底在電腦裡佔用了多大的記憶體. uint32_t 型態的變數 (沒有意外的話) 應該都會佔用 4 bytes.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

我們開發嵌入式系統時總會需要修修改改. 不管是個人獨自創作, 多人小組協同開發, 或者是多家公司聯合團隊, 甚至是跨國合作, 理所當然的必需要有一套好用的版本控制軟體, 才能事半功倍. 而 git 正是這樣一套好用的分散式版控軟體, 重點是它還是個免費的.

這一篇記的是如何讓 ARM 的官方開發工具 Keil µVision IDE 在編譯程式的時候自動git 取得版本資訊, 省去人工修改的麻煩.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

JTAG vs. SWD/SWO


這幾年 Cortex-M 系列的 ARM 微控制器大行其道, 在開發工具上也有一些使用上的調整:

  • 以前的晶片除錯器 (debugger) 用的是 JTAG 介面標準, 可以多個 CPU/DSP 一起除錯.
  • Cortex-M 則主推 SWD 介面, 一個 debugger 一次只能除錯一個 MCU 晶片.
  • 以前 ITM 是標準配備, 現在則為選配.
  • SWD 介面還有另一個選配: SWO.

ITM 的晶片一般都可以繼續使用 JTAG 介面的除錯器. 有 SWO 功能則可以使用 trace tool 協助分析無法以單純設斷點可以找到的問題. 例如: STMicroelectronics 比較阿沙力, 所有 Cortex-M 系列的晶片都有內含 ITM, 也有 SWO 功能. 但是像 Nuvoton 的 Cortex-M MCU 則都只有 SWD (是的, 連 SWO 都沒有). 差別是:

  • STMicroelectronics 可以使用 JTAG 介面的除錯器, Nuvoton 則只能用 SWD 介面的除錯器.
  • 使用 Keil µVision 除錯時, semihost 的系統訊息一個是從原本的 'Debug (printf) Viewer' 視窗檢視 (由 View --> Serial Windows --> Debug (printf) Viewer 開啟). 沒有 ITM 的晶片則只能從虛擬的 'UART #1' 視窗檢視 (由 View --> Serial Windows --> UART #1 開啟)
  • SWO 可以輸出 Debug Trace Output 給 trace tool 分析問題. 沒有 SWO 則遇到難解的 bug, 只能用你的 '智力' 想辦法解決了.

關於 semihost


semihost 是開發 ARM MCU 應用時很好用的軟體工具. 硬體線路板上不必真的把 UART 的接腳接出來就可以由 debugger 接收 MCU 利用 printf() 吐出來的訊息 (除錯訊息或都系統訊息).

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼