のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

2019-07-01から1ヶ月間の記事一覧

STM32F429ZI semihostingの設定 まとめ

main.c extern void initialise_monitor_handles(void); initialise_monitor_handles(); settings "Libraries" rdimon "--specs=rdimon.specs" Debug config ST-Link(OpenOCD) "monitor arm semihosting enable" syscall.c unused yuqlid.hatenablog.com os…

vcom

vcom vcom

STM32CubeIde F401RE FreeRTOSなし SemiHosting

FreeRTOSなしのとき、SemiHostingでprintfが表示された。 capture Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-06-12-13:13) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html srst_only separate sr…

STM32CubeIde HardFault その3 vTaskSwitchContext

vTaskSwitchContext asm c

STM32CubeIde HardFault その2 printf

hello 0x08009af0に、putsがある。 puts

STM32CubeIdeで、SemiHostingは、ST-Link(OpenOCD)

Debug ProbeをST-LINK(OpenOCD)にしたら、動くようになった。 openocd yukblog.net 赤い文字で出るようになる。 Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-06-12-13:13) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/…

STM32CubeIde GDB Hardware Debuggingの場合、うまくいかない

GDB Hardware Debuggingの場合、エラーで終了してしまう。 うまくいかない。 debugger ”use remote target"にチェックを入れないと、エラーすらでない。 以下のエラーになる。 Failed to execute MI command: target remote localhost:61234 エラーの詳細は…

bkpt 0x00ab

bkpt 0x00ab

STM32CubeIde Debug monitor arm semihosting enable

monitor arm https://yukblog.net/stm32cubeide-printf-semihosting/ failed ccwo.hatenablog.jp Error in final launch sequence: Failed to execute MI command: monitor arm semihosting enable Error message from debugger back end: Protocol error wi…

STM32CubeIde "--specs=rdimon.specs"を追加したら、”multiple definition”のエラーになった。

"--specs=rdimon.specs"を追加したら、multiple definitionのエラーになった。 arm-none-eabi-gcc -o "Nucleo-F429ZI.elf" @"objects.list" -lrdimon -mcpu=cortex-m4 -T"C:\Users\m_fujii\Documents\0500_BitBucket\0600_STM32CubeIde\ws_1.0.1\Nucleo-F429…

semihosting

yuqlid.hatenablog.com qiita.com rdimon 17:48:32 **** Incremental Build of configuration Debug for project Nucleo-F429ZI **** make -j4 all arm-none-eabi-gcc -o "Nucleo-F429ZI.elf" @"objects.list" -lrdimon -mcpu=cortex-m4 -T"C:\Users\m_fujii…

STM32CubeIde HardFault その1 printfにStepInすると、hardFault_Handlerに入る

タスクのスタックサイズを2048から4096に変えてみる。 フォルトアナライザ memory browser

"--specs=nosys.specs"

nosys.specs qiita.com runtime library

Type undefined reference to `getRunTimeCounterValue' tasks.c

#ifdef portALT_GET_RUN_TIME_COUNTER_VALUE portALT_GET_RUN_TIME_COUNTER_VALUE( ulTotalRunTime ); #else ulTotalRunTime = portGET_RUN_TIME_COUNTER_VALUE(); #endif portGET_RUN_TIME_COUNTER_VALUE

printf

usart3 blog.boochow.com 変更されたソース SYS sys pin SYSのDebugを”Serial Wire"にするとPA13とPA14が有効になる。 * PA13:SYS_JTCK-SWCLK * PA14:SYS_JSTMS_SWDIO

STM32CubeIdeで、タスクのスタックサイズを変えたとき、変わるところ。

main.c /* Create the thread(s) */ /* definition and creation of defaultTask */ const osThreadAttr_t defaultTask_attributes = { .name = "defaultTask", .priority = (osPriority_t) osPriorityNormal, .stack_size = 2048 <==スタックサイズ }; defa…

STM32CubeIde Compile option

-fstack-usage がデフォルトで入っていた。 arm-none-eabi-gcc "../Src/syscalls.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DSTM32F429ZITx -DSTM32F4 -DDEBUG -DNUCLEO_F429ZI -c -I../Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage…

FreeRTOS Stack OverFlowのチェック

Stack OverFlowのチェック 2が細かいチェック。 configCHECK_FOR_STACK_OVERFLOW 2 www.freertos.org

STM32CubeIde Project References

ProjectReferencesで、スタティックライブラリを参照。 Project References リンクするライブラリが見つからないとき、こっちも、必要だった。 Path

STM32CubeIde Preprocessorの設定

preprocess

STM32CubeIdeでStatic Libraryを作る方法

STM32 Projectを選択する STM32 Project Boardを選ぶ Boardを選ぶ Static Libraryを選ぶ static library DefaultのStatic Libraryのプロジェクトができる DefaultのStatic Libraryのプロジェクトができる デフォルトのファイル /** ************************…

FreeRTOSをEnableにしたときのStatic Stack Analyzer

FreeRTOSをEnableにしたとき

osなしのときのビルド

OSなしで動かして見たいとき、mainに、以下の関数が含まれていた。 たぶん、コメントアウトすればいいと思う。 ビルドは、できた。 osKernelInitialize defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); osKernelStart()…

STM32CubeIde Static Stack Analyzer

OSなしのとき、 テストの関数を呼び出してみた。 Reset_Handlerの下にmain関数がぶら下がるようだ。 今回テストしたのは、testEngine関数。 funcMulAddは普通の関数。 funcAdd2は再帰の関数。 再帰の関数funcAdd2を呼んでみた。 実行を完了しても、再帰関数…

Nucleo-F429ZI default build

Nucleo-F429ZI 12:06:16 **** Incremental Build of configuration Debug for project stm32f429 **** make -j4 all arm-none-eabi-size stm32f429.elf text data bss dec hex filename 15444 24 20272 35740 8b9c stm32f429.elf Finished building: default…

freeRTOS malloc失敗

FreeRTOSConfig.h で configUSE_MALLOC_FAILED_HOOK が 1 に設定されている場合、 アプリケーションでは以下に示す名前と プロトタイプを持つ malloc 失敗フック関数を指定する必要があります。 この関数は、アプリケーションに適した任意の方法で実装できま…

freeRTOSの日本語

Amazonのページがわかりやすい。 https://docs.aws.amazon.com/ja_jp/freertos-kernel/latest/dg/about.html