nRF printf
デバッグに表示できるというのは便利というか、無いとつらいので、整理してみた。
\examples\peripheral\blinkyを自身のmyprojectsなどのフォルダーにコピー。
\examples\myprojects\8_blinky_printf\pca10056\blank\sesの
blinky_pca10056.emProjectをダブルクリックして立ち上げてくる。
flash_placement.xmlの中のsize 0x04を削除してビルトして、動作させる所まで実施する。
mainのwhileの中にprintfの関数で文字列を書いてみる。
while (true)
{
for (int i = 0; i < LEDS_NUMBER; i++)
{
printf("This is a test.\n\r");
bsp_board_led_invert(i);
nrf_delay_ms(500);
}
このままビルトするとエラーが出た。
D:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 7.10a/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(prinops.o): in function `vfprintf_l':
prinops.c:(.text.libc.vfprintf_l+0x12): undefined reference to `__SEGGER_RTL_X_file_bufsize'
・・・
この手のエラーは、Project Itemのproject (上から2番目)を右クリック、Optionsを選択し、Commonにプルダウンで選んであげて、Library- Library I/Oを開き、RTTを選ぶ。かならずOKを押して窓を閉じるようにする。floatだけ表示されない。Optionsを選択し、Commonにプルダウンがなっているのを確認し、Printf/Scanfを選択して、Printf floating Point supportedをダブルクリックして窓を開いて、Floatを選択、OKを押していって窓を閉じる
コメント
コメントを投稿