2024年7月29日月曜日

spartan3をCPUから「slave serial mode」でconfigする(7)CPU内蔵FLASH不足

codeをArduino→STM32C011へ移植しました.コピーしてbuildが通るとこまでですけど.debugはこれからですけど.

STM32C011F4P6の内蔵FLASHは16kBです.これに収まらなくて四苦八苦しちゃった.
Arduinoは32kBなので、このSTM32はFLASH小さい.RAMは6kBとそれなりなので嬉しいんですが、、、FLASHはArduinoのたったの半分とは厳しい・・・
     Arduino STM32C011F4P6
 FLASH  32kB    16kB
 RAM   2kB     6kB

同じ機能を実装してbuildしたbinary sizeが、Arduino 11kB、STM32 13kB となったので、ほぼ同じではありますが、STM32はcode削減努力をやってこれです.code削減せずにbuildしたら24kBにもなってしまって死にかかりました.

code削減はなにをやったかというと、
 1)debug mode → release modeに変更
 2)build optionでsize optimize
 3)sprintf()を使わなくする
 4)atol(),atoi(),itoa()などを使わなくする

HAL driverが巨大で遅いというのは定説ですが、HALを使わなくするのはやってません.

6へ   8へ

かしこ

0 件のコメント:

コメントを投稿