PSoC 6 MCU デバイスのスタックとヒープサイズの設定 - KBA225135 - Community Translated (JA)

Version 1

    Community Translated by  MoTa_728816          Version: **

     

    質問:

    PSoC® 6 MCU デバイスでスタックとヒープのサイズを設定するのにはどうしたら良いですか

     

    回答:

    PSoC 6 MCU デバイスのスタック/ープのサイズを変更するのには下記の2種類の方法をどちらかをご使用ください。

     

    方法 1:

    PSoC Creator™ でコンパイラ設定にヒープとスタックサイズのマクロを追加します。(Project > Build settings > CM0+ 又は CM4 > Compiler) 例えば、1 のように、General Compiler settings の下の Preprocessor definitions で、スタックサイズを400バイトに設定する場合には __STACK_SIZE=400 と定義します、ヒープサイズを 400 バイトに設定する場合には __HEAP_SIZE=400 と定義します。 この設定はコア毎、ツールチェーン毎、そして "Release" "Debug" のコンフィグレーション毎に行う必要があることにご注意ください

     

    1. PSoC Creator でヒープとスタックサイズを変更す

     

    ModusToolbox では、アプリケーションプロジェクト (CM4 には _mainapp, CM0+ には _mainapp_cm0p) を選択して、Project > Properties > C/C++ Build > Settings > GNU ARM Cross Assembler へ移動します。2 のように Preprocessor の下の Defined symbols でスタックサイズを400バイトに設定する場合には __STACK_SIZE=400 と定義します、ヒープサイズを 400 バイトに設定する場合には __HEAP_SIZE=400 と定義します。

     

    2. ModusToolbox でヒープとスタックサイズを変更する

     

    方法 2:

    CM4 CM0+ 両方をソースフォルダ内で スタートアップファイルを見つけます。例えば PSoC Creator では startup_psoc63_xxx.s/S, ModusToolbox では startup_psoc6_0x_xxx.s/S というファイル名になります。スタートアップファイルは各ツールチェーンに専用のものとなります。ファイル内で、Heap_Size Stack_Size の定義を見つけて、それらの値を必要に応じて変更してください。IAR Embedded Workbench ではヒープ/スタックサイズはリンカファイル (.lcf) 内で __ICFEDIT_size_cstack__ __ICFEDIT_size_heap__ と定義されていることにご注意ください。

     

    Cypress 変更には、ファイルを編集する後者 (方法 2) よりも、プリプロセッサ設定を使用する前者 (方法 1) を推奨します、こちらの方法の方が簡潔でソースの変更があった場合なども長期的にみて保守が容易になります