libusb-win32_ft2232_driver.inf をwindows7でインストールすると、デジタル署名がないためにインストールに失敗します。
windows7でもインストールできる方法をよろしければ教えてください。
また、上記の問題でopennOCD1.0を使用しておりますが、
サンプルプログラム、spi_sd_test_terminalをビルド後、書き込みする際、以下のように表示されて、
デバッグできません。makefile.in で CQ_STARM = 1 として ビルドしており、mapファイルをみても
0x20005004に達していないようです。
<Zylin Embedded debug(Native) Console>
target remote localhost:3333
0x08002724 in f_write (fp=) at SD/src/ff.c:2021
2021 if (fp->fptr > fp->fsize) fp->fsize = fp->fptr; /* Update file size if needed */
Cannot access memory at address 0x20005004
Cannot access memory at address 0x20005004
show remote memory-write-packet-size
The memory-write-packet-size is 0. Packets are limited to 16383 bytes.
set remote memory-write-packet-size 1024
set remote memory-write-packet-size fixed
The memory-read-packet-size is 0. Packets are limited to 16383 bytes.
show remote memory-read-packet-size
set remote memory-read-packet-size 1024
set remote memory-read-packet-size fixed
set remote hardware-breakpoint-limit 6
set remote hardware-watchpoint-limit 4
monitor halt
monitor stm32x mass_erase 0
stm32x mass erase complete
monitor flash write_image "C:\gccfd\Project\STM32in\main.elf" 0x0 'elf'
Padding image section 0 with 0 bytes
Ignoring packet error, continuing...
Reply contains invalid hex digit 116
monitor reset
Remote connection closed
break main
Breakpoint 1 at 0x8000114: file src/main.c, line 66.
continue
The program is not being run.
< main.map >
中省略
*fill* 0x20001946 0x2 00
0x20001948 _ebss = .
0x20001948 PROVIDE (end, _ebss)
0x20001948 PROVIDE (_end, _ebss)
._usrstack 0x20001948 0x800 load address 0x0801220c
0x20001948 . = ALIGN (0x4)
0x20001948 _susrstack = .
0x20002148 . = (. + _Minimum_Stack_Size)
*fill* 0x20001948 0x800 00
0x20002148 . = ALIGN (0x4)
0x20002148 _eusrstack = .

先述のエラー内容とは異なり、何の変更も加えていないのですが
先述のエラー内容とは異なり、何の変更も加えていないのですが、以下の様な内容が出るようになりました。
お忙しい中、お手数ですが解決策があれば、お願い致します。
target remote localhost:3333
Reset_Handler () at Startup/startup_stm32f10x_md_nortos.s:65
65 movs r1, #0
show remote memory-write-packet-size
The memory-write-packet-size is 0. Packets are limited to 16383 bytes.
set remote memory-write-packet-size 1024
set remote memory-write-packet-size fixed
show remote memory-read-packet-size
The memory-read-packet-size is 0. Packets are limited to 16383 bytes.
set remote memory-read-packet-size 1024
set remote memory-read-packet-size fixed
set remote hardware-breakpoint-limit 6
set remote hardware-watchpoint-limit 4
monitor halt
monitor stm32x mass_erase 0
stm32x mass erase complete
monitor flash write_image "C:\gccfd\Project\STM32in\main.elf" 0x0 'elf'
Padding image section 0 with 0 bytes
Ignoring packet error, continuing...
Reply contains invalid hex digit 116
monitor reset
Remote connection closed
break main
Breakpoint 1 at 0x8000114: file src/main.c, line 66.
continue
The program is not being run.
ビルドしてみました
書き込んでいないので状況が再現されるかどうか不明なのですが、手元でビルドしてみたところ、mapfileのRAM部分の末尾は以下のような感じでした。
0x20001774 . = ALIGN (0x4)
0x20001774 _susrstack = .
0x20001f74 . = (. + _Minimum_Stack_Size)
*fill* 0x20001774 0x800 00
0x20001f74 . = ALIGN (0x4)
0x20001f74 _eusrstack = .
状況ですが…
Windows7は使ったことが無いので分からないのですが、デフォルトでは署名が強制されていたはずです。lib-usbはオープンソースなので署名がありません。いわゆる無効化手順が必要だと思います。「windows7 署名 無効化」で検索するといろいろ出てきますよ。
SDですが、ライブラリのフォルダでSDIO_SDの方を使っているということはないですよね。
あとOpenOCDに1.0というバージョンは無いと思いますが、0.1.0のことでしょうか。それであればとりあえずバージョンを上げてみて試してみるのがよいと思います。設定ファイルが変わってしまうかも知れませんが、私としては0.3.1をお勧めします。バージョンによって設定ファイルの設定方法自体が違うのでそれでエラーになっている可能性もあると思います。
このエラーは初めて見たのですが、メッセージの内容をだけ見ていると、通信エラーっぽい感じがします。ただ消去には成功しているようなので、原因が分かりにくいですね。他のサンプルプログラムは書込に成功しますか?
あとリンカスクリプトがおかしいかも知れません。CQ-STARMのRAMは20Kしかありませんから、0x20005004番地は存在しないので。
flash できません
お世話になります。
御教授頂いたとおり、openocd 0.3.1をインストールしましたが、"openocd.exeは動作を停止しました"
のエラーで書き込みできずに中断してしまいます。
コンソールの内容は以下の通りです。
<開発環境>
windows7,ARM-USB-Tiny,CQ-STARM
以上、宜しくお願い致します。
**** Build of configuration Default for project STM32 ****
cs-make flash
1 個のファイルをコピーしました。
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : Interface already configured, ignoring
force hard breakpoints
500 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
srst_only separate srst_gates_jtag srst_open_drain
cs-make: *** [flash-elf] Error 255
バージョン
ドライバをlib-ftdiに変えたんですよね。他のバージョンでも結果は同じですか?
書き込み成功しました
書き込みに成功しましたのでご報告致します。
<開発環境>
OS : Windows7
JTAG : ARM-USB-TINY
OCD : openocd 0.3.0 (http://forum.sparkfun.com/viewtopic.php?t=17649)
driver : lib-ftdi (マイコン徹底入門 ダウンロードより)
上記アドレスからダウンロードしたopeocd0.3.0の
openocd.exeを0.3.1のopenocd.exeへ上書きしました。
よくわかりませんが結局flashできました。これでいいのでしょうか?
バージョンか?コンパイルか?
0.3.0でうまくいったということですね。書き込めたのであればデバッグもできるでしょうから、それで進めていただいて問題無いと思います。
可能性としては本当にバージョン違いで問題になっていたということと、バイナリなのでコンパイル環境・オプションが違うということがあるように思われます。
もうすぐ0.5.0のバイナリをこのサイトで配りますので、よろしければそちらでも試してみて下さい。
マイコン徹底入門導入編で紹介されている環境です
ドライバをlib-ftdiに変えており、マイコン徹底入門導入編で紹介されている環境です。
その他のバージョンでは、設定ファイルの設定方法が異なるようなのでまだ試しておりません?