SeeedJP / wio_cellular

https://seeedjp.github.io/wio_cellular/
Other
1 stars 3 forks source link

compiler.optimization_flag=-O0でコンパイルするとUSB-CDCが見えなくなる #12

Closed matsujirushi closed 2 months ago

matsujirushi commented 2 months ago

デバッガでロードするためにplatform.txtで最適化オプションを変更すると、

変更前:

compiler.optimization_flag=-Ofast

変更後:

compiler.optimization_flag=-O0

コンパイル、書き込みは正常だが、USB-CDCが見えなくなる。 アプリケーションが全く動作していないように見える。

(RESETボタンのダブルクリックでDFUモードに切り替えはできるので、bootloaderは正常に動作している模様。)

matsujirushi commented 2 months ago

4バイト書き込み。

image

しかし、メモリ領域は1バイトしか無い。😵‍💫

image

nrf_clock_hfclk_tはenum。

image

matsujirushi commented 2 months ago

最新のnrfxでは、改修されていた。

https://github.com/NordicSemiconductor/nrfx/blob/master/hal/nrf_clock.h#L950

さらに、コメントに気になる記述あり。

https://github.com/NordicSemiconductor/nrfx/blob/075e9e711383bb3babfae4249fd59c8c8d882f72/hal/nrf_clock.h#L916-L920

matsujirushi commented 2 months ago

nrfx 2.2.0で改修されている。 https://github.com/NordicSemiconductor/nrfx/commit/a5397bea558fb4b6838081a22d1ee679289d7417#diff-81b9dd62260a17d104816cc7257888c82bacad66a7194d644eaf2efbbbb91c5e

BSPに組み込んであるnrfxはv2.1.0。 nrfx v2.xの最新は、v2.11.0。 nrfxの最新は、v3.6.0。

matsujirushi commented 2 months ago

BSPのnrfxをv3.6.0にアップデートした。 https://github.com/SeeedJP/Adafruit_nRF52_Arduino/commit/0156d7425a15cdb1a00f7e544834c2b48772f5e2

Adafruit_SleepyDogも改修。 https://github.com/SeeedJP/wio_cellular/commit/4bf0f1e6f3f7e2e4516e4fce28a996e6aa5e29c3