cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

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

ChaitanyaV_61
Employee

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

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 でヒープとスタックサイズを変更す

pastedImage_0.png

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 でヒープとスタックサイズを変更する

pastedImage_1.png

方法 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) を推奨します、こちらの方法の方が簡潔でソースの変更があった場合なども長期的にみて保守が容易になります

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎May 07, 2020 04:33 AM
Updated by:
 
Contributors