2014年9月19日

2014/09/19進階微控制器應用

課程進度:
2014/09/19:介紹課程、FreeRTOS簡介、建立開發環境
09/26~10/3:FreeRTOS架構、工作(Task)、
10/10:放假
10/17~10/24:FreeRTOS 通訊Communication
10/31:FreeRTOS Porting(移植) (目標微控制器為8051)
11/7:期中考
11/14:期中考(補)
11/21~11/28:FreeRTOS應用在8051上
12/5~12/12:FreeRTOS移植到Windows DOS 並型應用程式
12/19~12/26:FreeRTOS移植到Linux上並執行
1/2:放假
1/9:期末考
1/16:期末考(補)
重點:如何移植、熟練、記好步驟



評分標準:
平時40%(上課/作業)
期中30%
期末30%

參考書:Using The FreeRTOS Real Time Kernel A Pratical Guide,Richard Barry 請點這

----------------------------------------------------------------------------------------------------------
第一節

主要為嵌入式系統(embedded system):具有特殊用途、功能之系統-嵌入式系統
本課程使用FreeRTOS作為嵌入式之系統,其OS具有之特色:

  1. real-time反應速度夠快
  2. 免費
  3. 小型
  4. 低功耗
  5. multitasking 多工(單應用程式多執行緒) 工作的切換應用 只能跑一個程式

預計在8051上執行應用

FreeRTOS之架構
Task-工作列表、工作切換、工作排程
Communication-Queue(佇列)排隊之意義 先進先出、Semaphore(信號) 設定信號燈判對可否執行、Mutex(互斥) 設定Mutex別人無法使用,釋放後別人才可使用

如何不同的cpu共用同一個作業系統
porting(移植)使作業系統能在不同的CPU(微控制器8051、ARM等)使用

其主程式有四個Task、Communication、Mutex、Porting

以上目的使其可以再作業系統架一個實時的多工應用

使用EdSim51來模擬8051的程式(也可以模擬週邊、8*8LED矩陣、RS232 TX/RX、LCD顯示、AD等)
使用Sdcc編譯8051程式

只能模擬單一程式的事??

將FreeRTOS移植到8051、windows DOS、Linux、ARM、Cortex、M3

----------------------------------------------------------------------------------------------------------
第二節、第三節

開啟桌面Oracle VM VirtualBox並執行Ubuntu,以下請在Ubuntu OS內執行 登入密碼j301

安裝Edsim51di:
1.下載edsim51di.zip(由MY數位學習網頁下載或請點這)
2.開啟終端機,製作micro資料夾 mkdir micro
3.將edsim51di.zip從下載資料夾將edsim51di.zip複製到micro資料夾
4.從使用者根目錄(~)下,變換資料夾到micro
~> cd micro
在micro資料夾下,解壓縮edsim51di.zip
~>unzip edsim51di.zip
5.micro資料夾下,有edsim51di之資料夾
在~/micro資料夾底下
~> cd edsim51di
在edsim51di資料夾內有edsim51di.jar,將此檔變成可執行檔,
~> chmod a+x edsim51di.jar

6.安裝openjdk-6-jre
sudo apt-get install openjdk-6-jre
密碼:j301

7.在~/micro/edsim51di/下執行java -jar edsim51di.jar

 stust@stust-VirtualBox:~$ ls
examples.desktop  公共  影片  桌面  音樂 下載 圖片  文件  模板
stust@stust-VirtualBox:~$ mkdir micro
stust@stust-VirtualBox:~$ cd micro/
stust@stust-VirtualBox:~/micro$ ls
edsim51di.zip
stust@stust-VirtualBox:~/micro$ unzip edsim51di.zip
Archive:  edsim51di.zip
  inflating: edsim51di/edsim51di.jar
   creating: edsim51di/lib/
  inflating: edsim51di/lib/edsim51sh.jar
stust@stust-VirtualBox:~/micro$ ls
edsim51di  edsim51di.zip
stust@stust-VirtualBox:~/micro$ ls -l
總計 360
drwxrwxr-x 3 stust stust   4096  9月 19 15:46 edsim51di
-rw-r--r-- 1 stust stust 362105  9月 19 15:40 edsim51di.zip
 stust@stust-VirtualBox:~/micro$ cd edsim51di/
stust@stust-VirtualBox:~/micro/edsim51di$ chmod a+x edsim51di.jar
stust@stust-VirtualBox:~/micro/edsim51di$ ls -l
總計 4900
-rwxrwxr-x 1 stust stust 5010661 11月 30  2013 edsim51di.jar
drwxrwxr-x 2 stust stust    4096 11月 30  2013 lib
stust@stust-VirtualBox:~/micro/edsim51di$ sudo apt-get install openjdk-6-jre
stust@stust-VirtualBox:~/micro/edsim51di$ sudo dpkg --configure -akg --configure -a
stust@stust-VirtualBox:~/micro/edsim51di$ sudo apt-get install -f
stust@stust-VirtualBox:~/micro/edsim51di$ sudo apt-get install openjdk-6-jre
stust@stust-VirtualBox:~/micro/edsim51di$ java -jar edsim51di.jar

8.install 8051 C editor:sdcc
stust@stust-VirtualBox:~/micro/edsim51di$ sudo apt-get install sdcc

授課講師:薛雲太老師         下一篇

沒有留言:

張貼留言

文章有誤或有問題麻煩您留言告知! 謝謝您~~