2013年8月29日 星期四

孫小毛USB實驗外傳-Toolstick連線問題排除

小毛唸台大的高中同學大餅也最近也在網拍上買了一塊C8051F381的實驗板要來學USB,但怎樣都無法正常連線。

這同時也是孫小毛USB專題週記3的細節說明


「小毛,聽說你最近在玩Silicon Labs的MCU哦,我以前在上微處理機與應用的課時就用過Silicon Labs的MCU了啦」大餅閒聊時得知小毛的專題便順便問了「但是最近我有塊板子的連線一直有問題,可以幫我一下嗎?我一直會出現下面的畫面」

error

「我隨便連都可以啊,等一會回去我幫你問一下之前給我名片的廠商再跟你講」

XXXXXX

趁機跟正妹小姐通個電話」小毛打電話給代理商時心裡想著其實不是幫大餅

「喂,益智科技您好,請問有什麼事嗎」小毛終於跟正妹通上電話了

「您好,我們是竹塹大學的學生,現在有一些技術上的問題想要跟貴公司請教」小毛表面上很正經地在發問

「哦,我想起來了,你們進度真快,有空我們過去你們那拜訪一下好了,技術問題我就幫你轉給我們的FAE副理傑夫了,請等一下哦....登等登等登等等 等等登 等等登」正妹就很熟練地將電話轉給了FAE傑夫「喂,益智您好,請問有什麼事嗎?」

「我們在用ToolStick時有連線上的問題」小毛這時就很簡潔地問

「等一下哦,我傳給你一個排解的步驟,請你們先照著下面步驟做,有什麼其他問題再打電話來問哦」傑夫很機械性地回答了這個很常被問的問題

XXXXXX

toolstick

硬體連接方式

connect

在IDE裡連接硬體

error

跳出這錯誤訊息怎麼辦?

檢查作業系統
device1

device2

device3

device4

device5

device6

device7

device8

依以上步驟打開裝置管理員, 並將人性化介面裝置展開

插拔一次toolstick, 看看人性化介面裝置是否有變化, 若沒變化表示作業系統辨試有問題

檢查IDE設定

option1

option2

依上述步驟檢查Debug 連線設定, 需成USB 及 C2

檢查IDE版本

version1

version2

version3

依上述步驟檢查IDE版本 需4.20 以上才有支援C8051F381

XXXXXX

IDE 3.42

原來大餅是三年前上的課,那時的IDE並沒有未卜先知的能力支援未來才開發的381啦。所以就上原廠官網去更新IDE版本就行了

相關文章
孫小毛USB專題週記3

展開卷軸...

2013年8月27日 星期二

王大頭USB學習心得-Universal

下週就要報告了,面對著USB海量資料而不知所措的大頭果然是讀書的料,當下就擬定了三個步驟的策略。


這同時也是孫小毛USB專題週記4的細節展開
  1. 將這門巨大的知識拆解成比較能消化的幾個主題
  2. 先用這幾個主題當關鍵字去網路上搜尋,再配合這幾年在上學所學很快建構一個輪廓出來
  3. 輪廓建立之後就開始製作報告用的投影片,之後就開始一邊寫一邊「參考」參考資料

那又要如何來分類呢?如果依照小毛的分類又無法完全掌握軟體、韌體、硬體的精髓,怕報沒幾分鐘就被教授轟下台了。

大頭便在Silicon Labs的USB Overview正體中文維基百科簡體中文維基百科英文維基百科,USB官方論壇的USB2.0規格書這些資料中隨便亂看。

enter image description here

突然這些資料中唯一有詳目錄表的USB2.0規格書給了大頭一個靈感:把目錄表重新組合後再分類當成做報告的大綱。

enter image description here

於是便做出了這張分類完全跟小毛不同的心智圖,這張心智圖完全不從實作的角度而是以文獻的角度來出發。

enter image description here

enter image description here

再把章節的目錄看一下,發現第六章寫的是接頭、電纜的尺寸和所需通過的測試標準。這應該是很重要的因為尺寸不合不是太緊插不進去或是太鬆很容易掉,不過大概也不需要用大腦背下來,只要記得尺寸和測試標準來第六章查就對了。

enter image description here

第七章講的是信號、電源、波形,剛好跟電子學三在教的範圍很像。看樣子就把標題寫上去就可以先應付專題報告了,之後再慢慢來研究信號、電源、波形的細節好了。


相關文章:
孫小毛USB專題週記4

展開卷軸...

2013年8月26日 星期一

孫小毛USB專題週記-主要人物介紹

人物簡介:

大咖教授 Big Foot
從UCB深造歸國的重量級教授, 因覺得台北誘惑太多而不回母校任教, 轉而去竹塹大學任教.對教學很有熱忱但老覺得學生不夠用功


神秘助教 Mee
就是USB專題的助教,其他的事現在講太多就不夠神秘了


孫小毛 Small Sun
覺得理論沒什麼用,能把東西做出來最重要. 座右銘是"Just Do It"


王大頭 Doctor Wang
高中都第一名沒什麼了不起, 在竹塹大學電機系還可以每學期都拿書卷獎就不簡單了.


宜靜 Q
雖然對軟體開發很有興趣但不太清楚在電機系學到了什麼, 所以準備改考企研所立志以後當PM.


正妹
某IC代理商的業務, 人如其名真的很正, 這是當業務的必要條件


傑夫
某IC代理商FAE副理, 有技術上的問題就都找他

相關文章
孫小毛USB專題週記1

展開卷軸...

2013年8月25日 星期日

孫小毛USB實驗外傳-初步控制硬體

照著孫小毛USB實驗外傳-軟體工程師無痛學韌體做完應該所有在開發Silicon Labs韌體所需要的軟硬體工具都備妥了,操作上也沒什麼困難了. 但這樣不就跟在PC上寫軟體一樣嗎?沒有實際控制個什麼硬體裝置總覺得不像是在做韌體.

這同時也是孫小毛USB專題週記3的細節說明

datasheet1
我們可以看一下原廠的TookStick F381DC User Guide, 發現板子上有LED可以被MCU控制耶

datasheet2
再仔細看看電路是怎麼接的, 看起來只要控制P2_2的電壓就可以讓這顆LED亮或不亮了哦

example
只是要怎麼寫程式來控制P2_2呢?小毛憑著以前上微算機應用設計的基礎,到處剪貼原廠的範例程式.也不知道各個指令是什麼意思,就拼湊出下面這個程式了.




led1
跟之前的實驗一樣, 只要程式碼編譯沒問題IDE就把下載的功能給開放, 就把程式執行碼下載到開發板吧

led2
這次除了看結果之外小毛還想試一下其他的功能,想看一下寫出來的程式到底被翻譯成什麼樣子, 於是就點了DisAssmebly Window 來看翻譯出來的組合語言


led3
另外,小毛一時還不是這麼想看到結果, 想要慢慢研究程式碼執行的流程,所以就在LED1=~LED1這行加了一個中斷點.

led4
設對了之就會看到LED1=~LED1前出現了一個紅點, 這表示等一下CPU會被凍結在執行這行指令前

led5
按下GO 執行之後, 果然發現指示著即將要執行指令的藍色箭頭指著LED1=~LED1, CPU真的被凍結住了. 而我們也可以從DisAssembly視窗中看到這一行被翻譯成 CPL A0.2H這個組合語言的指令.

研究完之後小毛還順手拍了一小斷執行的影片放在網路上當做記錄. 玩到這裡小毛總算是把Silicon Labs的開發套件給從頭玩了一遍, 真的是簡單到不用聽光顧著看正妹就可以上手了, 終於可以放下心去做專題的報告了.

相關文章
孫小毛USB實驗外傳-免費正版Keil C序號取得和Silicon Labs C8051開發工具安裝
孫小毛USB實驗外傳-軟體工程師無痛學韌體
孫小毛USB專題週記3

展開卷軸...

2013年8月24日 星期六

孫小毛USB實驗外傳-軟體工程師無痛學韌體

這篇是用來說明這一系列USB學習文章為什麼要選用Silicon Labs的C8051F381.

同時也是孫小毛USB專題週記3的細節說明

toolstick 381dc

2005年Silicon Labs發表了ToolStick EK整合了展示板,燒錄器,除錯器在一個類似隨身碟的外殼內只要10塊美金就可以買到練習寫8051韌體所需所有工具,在當時除錯器公定價為99或69美金的時代相當物超所值. 對於從軟體出身的工程師來說降低了相當大的學習門檻, 但ToolStick EK只能接固定的展示電路, 除非具有一些硬體重工的能加與經驗否則就無法更進一步做硬體的實驗.

隔年,Silicon Labs又推出了ToolStick BA一系列的開發子板及轉接工具使得要做實驗可以自行銲接其他的零件或是跳接到麵包板上實驗,所需的硬體大小就如上面照片所示,想換個心情到咖啡店裡練習韌體開發也是很適合的.而軟體工具正如同孫小毛USB實驗外傳-免費正版Keil C序號取得和Silicon Labs C8051開發工具安裝所述,所有軟體工具現在也都可以免費取得正版序號了.

如果做實驗或練習有需要的話可以自行在

Mouser

DigiKey

露天

等網站上或是找台灣的代理商購買

nuvoton demo kit

當然,其他廠商最近也都推出了類示的示範套件,如上圖的新唐科技原廠ARM Cortex-M0開發板.但他們的軟體開發工具還稍嫌不方便.將在Silicon Labs C8051系列學習文介紹完之後再挑選市場上主流MCU來講解.

new prj1

首先我們先簡單說明一下要如何新建一個專案.

請先照孫小毛USB實驗外傳-免費正版Keil C序號取得和Silicon Labs C8051開發工具安裝的步驟安裝軟體.安裝完後打開Silicon Laboratories IDE

進入之後點選Project下的New Project

new prj2

接下來就是選擇IC型號,專案類型,專案名稱. 我們之後都會以C8051F381和C語言為範例來解說, 所以IC型號這裡請先選擇C8051F38x, Project Type選擇 C Source Project

new prj3

按下OK之後就建好一個新的專案檔了, 對軟體工程師來說是不是完全沒有障礙呢?

new file1

接下來要增加新的原始檔, 就點選New 即可

new file2

把檔案名稱打入後記得勾選Add to Project和Add to Build

build1

再按下OK後就有一個空白的原始檔讓我們寫 我們先打入第一個程式,一個正式功能只有浪費電但我們可以完全掌握它行程的無窮迴圈.

打完之後可以點選ReBuild All來重新編譯整個專案的程式.下方的視窗會顯示編譯的結果.

到這裡為止對於軟體工程師來說是不是還是很親切呢?

build2

如果編譯沒有錯誤,IDE會開放下載這個功能,要在開發板上測試就按下去就對了

按下DownLoad 鍵後就會跑出下進度和結果是否正確

這對於軟體工程師可能比較陌生, 但應該不算太可怕啦!

build3

如果下載也沒有問題,IDE又會開放一些除錯的功能.這對於軟體工程師來說也相當熟悉, 但要注意這些除錯都是在對開發板上的MCU和程式除錯哦, 已經不是在對PC上的應用程式除錯了

以上就是使用Silicon Labs原廠所提供的軟硬體工具實際新建一個專案並下載到開發板上除錯的完整流程, 是不是一套讓軟體工程師無痛學習韌體的好方案呢?

難怪孫小毛去參加研討會只要看正妹什麼都不用聽就會做了.


相關文章
孫小毛USB實驗外傳-免費正版Keil C序號取得和Silicon Labs C8051開發工具安裝
孫小毛USB實驗外傳-初步控制硬體
孫小毛USB專題週記3

展開卷軸...

2013年8月23日 星期五

孫小毛USB實驗外傳-免費正版Keil C序號取得和Silicon Labs C8051開發工具安裝

這篇是用來補充孫小毛USB專題週記中帶過的Silicon Labs開發工具安裝過程 ,主要是希望實作的部份不要干擾學習的思緒.

這同時也是孫小毛USB專題週記3的細節說明

免費的Keil開發工具

Silicon Labs原廠現在免費提供完整的Keil C License,連上原廠的首頁http://www.silabs.com/Pages/default.aspx即可看到在最右側有一個索取金鑰的網頁,在幾年前使用Silicon Labs的8051 USB MCU不是要改用SDCC或其他編譯器,不然就是要花錢買正版的Keil編譯器.現在原廠直接發放Keil的序號了,沒錢買正版Keil的朋友們也不用一直在網路上找註冊碼又耽心中木馬了.不過整個過程還沒有做到相當無腦的自動化,稍微沒注意可能就不小心做錯了,以下就一步一步寫下來讓大家參考.

索取Keil C金鑰 點進索取金鑰的網頁之後,會看到一個不是很順的流程. 首先要跳出去下載並安裝軟體, 然後再回來填表拿金鑰, 最後還要再去下載Application Note 104來看.

修改後的Keil C金鑰索取流程

不過我們可以把流程改得順一點, 並且把AN104下載並節錄於下文. 首先我們就不要跳出去了, 先把右邊的表格填好拿到金鑰. 再點 8-bit microcontroller studio 下載軟體並安裝.

得到產品序號

當按下Get Your Key之後, 畫面就會顯示一組PSN, 並且步驟會變成只有二步,可見剛才所修改的流程是正確又比較順的. 現在先把這組產品序號PSN保存下來備用, 接著就下載並安裝軟體了.軟體的安裝就比較無腦自動化一點, 一路上只要找到 "是","Next","Install","Accept","agree","Finish"這幾個關鍵字的選項或按鈕就按下去就好了. 因為不同意就不能裝了,所以還真的只有同意一條路可走.

Silicon Labs IdE

安裝好之後的桌面會像上圖一樣, 多了好多Silicon Labs的工具和一個Keil uVision4.

enter image description here

因為要先解鎖才能編譯比較大的檔案, 執行Keil uVision4,會出現像上圖的畫面. 解鎖的方法可以參照Applicaion Note 104或是依照下面的步驟來做.

enter image description here

先點選License Management

enter image description here

跳出License Management視窗後, 再點選Get LIC via Internet按鈕

enter image description here

按下確定按鈕

enter image description here

將剛才保留的PSN貼上, 並填妥個人資料後打開收信軟體

enter image description here

這時應該會收到一封MAIL 裡面有LIC, 把LIC複製下來備用

enter image description here

回到uVision4 ,將複制下來的LIC貼到LIC文字編輯框, 並按下Add LIC按鈕

enter image description here

一切都成功之後應該可以看到可使用到2016年的License, 如果看到License被成功加入後就可以關掉uVision4了, 以後應該也都用不到了.

enter image description here

打開檔案總管進到管C:\Silabs\MCU\Examples\C8051F38x\USB_HID\Firmware\MouseExample

應該可以看到F3xx_MouseExample 這個Silicon Labs IDE Project,找到之後先開啟它 以後我們也都是在用Silicon Labs IDE 專案檔, 但目前預裝的範例目前不能直接使用

enter image description here

首先點選Project下的Tool Chain Integration

enter image description here

展開Preset Name後選擇Keil後按OK 這時專案的環境已經設定正確了, 以後就不用再進行上面的所有步驟了 接下來是簡單的IDE環境操作說明

enter image description here

可按Control-Shift-F7或以滑鼠點選Rebuild All功能來重新編譯整個專案 編譯的結果會顯示在下面的視窗

enter image description here

若實驗板已透過USB連接正確, 可用滑鼠點選Connect連接

enter image description here

連結成功則DL(下載功能)按鈕會開放使用

enter image description here

按下DL按鈕就會自動下載程式碼到實驗板上,過程中會顯示下載進度及結果

enter image description here

如果程式碼正確被下載了,執行和除錯的按鈕就會被開放使用,整個過程就如同純綷軟體開發一樣完全不需要切換模式或按任何實驗板上的按鍵


相關文章
孫小毛USB實驗外傳-軟體工程師無痛學韌體
孫小毛USB實驗外傳-初步控制硬體
孫小毛USB專題週記3

展開卷軸...