日本でSTM32系ブログの筆頭に上がると思われるねむいさんのぶろぐでは、F7 Discoveryでも動作するファイラーを公開されています。
このファイラーにはJPEG/PNG/GIF画像およびWAV/MP3/AACのビューワも統合されています。
コーデックはオープンソースのもので、mp3/aacは昨日触れたHelixです。
ねむいさんのぶろぐ | Project Examples and Misc Files
元はWindowsの開発環境用に構成されていますが、ビルドするだけなら少しの変更でLinux上でも作業できます。
主な変更点はファイル名で、Windowsでは大文字小文字の区別をしませんが、Linuxでは区別しますので、makefile内に記載されているファイル名を修正する必要があります。
ビルドしたものはST-Link Utilityで書き込めます。
操作はUART(VCP)経由なので、ターミナルソフトが必要です。
ターミナルソフトの通信速度は230Kbpsにして下さい。
ファイラーの管理対象はmicroSDカードです。
基本操作はダイヤモンドカーソル(^E ^S ^D ^X)とEnter(決定ボタン)と^Z(Cancelボタン)で行えます。
また、タッチパネルも利用できます。LCDの端の部分が、上下左右のボタンとなっています。
なお、私のDiscoveryボードはちょっと不具合があるようで、基本、下図のようにLCDの横方向の表示が乱れます。
クロックの同期がずれているような感じです。正常に表示できる時間帯もあるのですが、温度などの影響があるのかもしれません。
forester3さんのブログによると、クロック速度を下げると正常に動作するらしいです。
ねむいさんのexampleをクロックダウン – forester3の日記
最後に、makefileの修正部分のdiffをメモ代わりに置いておきます。
$ diff makefile makefile.org 9c9 < #export PATH = %SYSTEMROOT%;$(TOOLDIR)/bin;$(OCDIR);$(DFUDIR);$(MAKEDIR) --- > export PATH = %SYSTEMROOT%;$(TOOLDIR)/bin;$(OCDIR);$(DFUDIR);$(MAKEDIR) 100c100 < MSGECHO = /bin/echo --- > MSGECHO = echo.exe 153,154c153,154 < #EVAL_BOARD = USE_STM32F769I_DISCOVERY < EVAL_BOARD = USE_STM32746G_DISCOVERY --- > EVAL_BOARD = USE_STM32F769I_DISCOVERY > #EVAL_BOARD = USE_STM32746G_DISCOVERY 268,272c268,272 < $(FWLIB)/Inc \ < $(USB_DEVICE)/Core/Inc \ < $(USB_HOST)/Core/Inc \ < $(USB_OTG)/Core/Inc \ < $(STEMWIN)/Core/Inc \ --- > $(FWLIB)/inc \ > $(USB_DEVICE)/Core/inc \ > $(USB_HOST)/Core/inc \ > $(USB_OTG)/Core/inc \ > $(STEMWIN)/Core/inc \ 364d363 < MPU_MODEL_LOWER = $(shell echo $(MPU_MODEL) | tr A-Z a-z) 367c366 < $(SOURCE)/startup_$(MPU_MODEL_LOWER)_rtos.s --- > $(SOURCE)/startup_$(MPU_MODEL)_rtos.s 370c369 < $(STARTUP_DIR)/startup_$(MPU_MODEL_LOWER).s --- > $(STARTUP_DIR)/startup_$(MPU_MODEL).s 377,396c376,395 < $(FWLIB)/Src/stm32f7xx_hal.c \ < $(FWLIB)/Src/stm32f7xx_hal_cortex.c \ < $(FWLIB)/Src/stm32f7xx_hal_rcc.c \ < $(FWLIB)/Src/stm32f7xx_hal_rcc_ex.c \ < $(FWLIB)/Src/stm32f7xx_hal_pwr.c \ < $(FWLIB)/Src/stm32f7xx_hal_pwr_ex.c \ < $(FWLIB)/Src/stm32f7xx_hal_gpio.c \ < $(FWLIB)/Src/stm32f7xx_hal_uart.c \ < $(FWLIB)/Src/stm32f7xx_hal_tim.c \ < $(FWLIB)/Src/stm32f7xx_hal_i2c.c \ < $(FWLIB)/Src/stm32f7xx_hal_sdram.c \ < $(FWLIB)/Src/stm32f7xx_hal_dma.c \ < $(FWLIB)/Src/stm32f7xx_hal_ltdc.c \ < $(FWLIB)/Src/stm32f7xx_hal_dma2d.c \ < $(FWLIB)/Src/stm32f7xx_hal_qspi.c \ < $(FWLIB)/Src/stm32f7xx_hal_dsi.c \ < $(FWLIB)/Src/stm32f7xx_hal_ltdc_ex.c \ < $(FWLIB)/Src/stm32f7xx_hal_sai.c \ < $(FWLIB)/Src/stm32f7xx_ll_fmc.c \ < $(FWLIB)/Src/stm32f7xx_ll_sdmmc.c \ --- > $(FWLIB)/src/stm32f7xx_hal.c \ > $(FWLIB)/src/stm32f7xx_hal_cortex.c \ > $(FWLIB)/src/stm32f7xx_hal_rcc.c \ > $(FWLIB)/src/stm32f7xx_hal_rcc_ex.c \ > $(FWLIB)/src/stm32f7xx_hal_pwr.c \ > $(FWLIB)/src/stm32f7xx_hal_pwr_ex.c \ > $(FWLIB)/src/stm32f7xx_hal_gpio.c \ > $(FWLIB)/src/stm32f7xx_hal_uart.c \ > $(FWLIB)/src/stm32f7xx_hal_tim.c \ > $(FWLIB)/src/stm32f7xx_hal_i2c.c \ > $(FWLIB)/src/stm32f7xx_hal_sdram.c \ > $(FWLIB)/src/stm32f7xx_hal_dma.c \ > $(FWLIB)/src/stm32f7xx_hal_ltdc.c \ > $(FWLIB)/src/stm32f7xx_hal_dma2d.c \ > $(FWLIB)/src/stm32f7xx_hal_qspi.c \ > $(FWLIB)/src/stm32f7xx_hal_dsi.c \ > $(FWLIB)/src/stm32f7xx_hal_ltdc_ex.c \ > $(FWLIB)/src/stm32f7xx_hal_sai.c \ > $(FWLIB)/src/stm32f7xx_ll_fmc.c \ > $(FWLIB)/src/stm32f7xx_ll_sdmmc.c \
コメント