2016年9月25日 星期日

STM32F429 SEGA Master System Simulator [SMS]

1. 趁著週末做了一個小實驗, 就是將模擬器放在STM32F429 Discovery Board去執行看看, 由於已經有許多網路神人已經提供了許多範例和資料, 因此測試起來進度挺順利的.

2. 目前網路上的程式大致上除了主程式外, 遊戲的bin檔案皆須使用ST-LINK Utility Tool燒錄到指定的Flash Address, 在使用上比較麻煩一點, 因此我特定改良了這一點, 將bin檔案直接就跟程式可以一起燒錄進去開發板.

3. Test Video:


4. Test Code Download Link: (Keil-MDK v4.74 or v5.20)
    STM32F429_SMS_EMU_Code

5. 將bin檔直接與程式綁定在一起的做法是透過.s檔案和組合語言, 使用INCBIN這個指令直接將bin檔案直接載入, 並透過extern的方式分享資料和檔案長度.




6. 隨程式提供的bin檔案, 僅供測試使用, 測試完畢後, 請趕快刪除, 並不得用在商業行為上.

2016年9月24日 星期六

[Life] NuMicro Family ARM Cortex-M0 Training Course

    9月21日到美麗華旁邊的新唐台北辦事處參加NuMicro Nano130課程講習, 除了有便當吃, 還有開發板可以領取, 真是不錯啊.






2016年9月18日 星期日

STM32F103_USB_Test_Code(VCP/HID/MSC)

1. STM32F103大概是在還沒接觸M4之前, 最常用的ST MCU, 即便是到了現在還是有許多人在使用這一顆Cortex-M3, 那今天要介紹的是STM32F103 USB Code.

2. 本範例主要是在STM32F103上面移植Virtual COM-Port(VCP) , Keyboard/Mouse/HID RAW(HID) , Mass Storage(MSC)這三種比較常用的類型.

3. 由於STM32F103並沒有類似像Discovery Board這種板子, 因此本範例的GPIO Define如下, 請參考的人自行根據自己手上的板子來修改.





4. How to switch VCP/HID/MSC mode: (usb_select.h, default is MSC mode)


5. Main flow:


  • GPIO & RAM-Disk(8KB) Init.
  • Disconnect USB-Pull up(PA8).
  • I2C Init.
  • USB Init.
  • Systick Init.
  • Connect USB-Pull up(PA8).
  • Check Button Status, if press the button, run HID or VCP test code.
  • It will run SCSI command when switch to MSC mode.
6. How to adjust RAM-Disk Size: (mass_mal.c)


7. Test flow:
  • MSC mode:



  • VCP mode:



  • HID mode:

    • Keyboard: 


    • Mouse: 

    • HID RAW: 


8. Test Code Download Link: