ドラレコに最適!第3世代サンディスク産業用マイクロSDカードを入手せよ!

ここ最近は諸般の事情で大阪への所要が頻繁にあるのですが、ふと立ち寄った大阪
日本橋のPCショップでとんでもないものを発見してしまいました!!




なんとサンディスクの産業用microSDカード第三世代のものが販売されていたのです!
昨年から一般では入手不可能なサンディスク産業用microSDが市場にポツポツと流出
しておりましたがドライブレコーダーや監視カメラなどへの需要が大きく、継続的にPC
ショップなどの市場に出回ているようです。

しかも現在の最新モデルである第三世代!!!
もちろんS.M.A.R.T(以下SMART)による寿命判定可能!



第3世代のカードでは32GB以上のモデルでもUHS-汽ラスとなっています。
過去のモデルではClass10表記しかなかったのですがこれで通常使用でも十分使用に
耐えるものになりそうですね。


とりあえずベンチとってみました。
第二世代
第一世代
と比べるとシーケンシャル書き込みは段違いの性能を示していますね!
チマチマ書き込みに関しても1MB/Sec割ってないので断続的な書き込みに安定して
強く、ドラレコ等で十分使えます!

お約束のねむいさんのいつものでカード情報を読み出しました。

FatFs module test terminal for STM32F769NIH6
LFN Enabled, Code page: 932
AppVersion : W.I.P
Build Date : Sep 7 2018
>fg piano
rc=0 FR_OK
>fo 1 ftbt.mp3
rc=0 FR_OK
>fr 132949600
132949600 bytes read with 17637 kB/sec.
>ds 0
rc=0
Drive size: 62333952 sectors
Erase block size: 8192 sectors
Default r/w block size: 512 bytes
Card type: SDv2(Block)
CSD:
00000000 40 0E 00 32 5B 59 00 00 ED C8 7F 80 0A 40 40 C3 @..2[Y.......@@.
CID:
00000000 03 53 44 53 41 33 32 47 80 75 F0 3C AD 01 26 A1 .SDSA32G.u.<..&.

Parsing SD CID Register
Manufacturer ID :0x3
OEM/Application ID :SD
Product Name :SA32G
Product HwRev :8
Product SwRev :0
Serial Number :0x75F03CAD
DateCode.Month :6
DateCode.Year :2018

OCR:
00000000 C1 FF 80 00 ....
SD Status:
00000000 80 00 00 00 05 00 00 00 04 00 90 00 0F 05 1A 0A ................
00000010 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
SCR:
00000000 02 35 84 43 00 00 00 00 .5.C....

Parsing SCR
SD Spec Version :2
SD Spec Version 3 :1
SD Spec Version 4 :1
SD Spec Version X :1
SD Security :3
SD Bus Width :5

SD_Spec V5.xx!
Detected as SDHC Card!
Available UHS-I Mode.

2018年6月製造の出来たてほやほやでした!
SDの世代もV5となっていますね。




さてこのカードの売りであるSMART機能ですが…もちろん第2世代カードと同じくCMD56
のコマンドで寿命判定を含む512バイト分のSMARTのデータを読みだすことができます

ごらんのとおり"Sandisk"のイニシャルコードが読みとれました。
こちらにCMD56で読みだした際のデータを置いておきますので参考にしてください。

また、当たり前ですが肝心の寿命に関するレジスタの配置はすべて過去の世代の
ものと同一ですのでサンディスクの産業用SDでシステムを組んでいたらソースの
改変の必要が無くそのまま差し替えで使用可能です。




前途の通りドライブレコーダーや監視カメラなどが使用される個所は極端な温度変化
が起きさらに日本では高湿度環境下の動作を強いられます。
さらにその状況下でデータの確実性まで求められるため、TLCが使用されている一般
向けのmicroSDカード等は信頼性の面で到底使用できません。

タフな環境向けの高耐久なmicroSDカードも認知され始めていますがサンディスクの
産業用microSDカードは少しの電子工作の知識は必要ですがSMARTが採れ寿命の
判定もできるという点で普通の高耐久カードよりも性能が一歩リードしていると言える
でしょう。あとシーケンシャル読み書き速度の面でもですね。多くの単純な高耐久
カードはまだClass10までですので。

昨年から言っていますがSD向けのSMARTが規格化されドラレコ上で容易に寿命判定
出来ればなおよいのですが現在急速に需要が増加している状態なのでそのような時代
はすぐやってくると思われます。

本家サンディスクも高耐久カードに関する取材を受けていますね。時代はタフさを
求められています!

追記:ドラレコ・監視カメラに使用する際は使用する機器の容量上限を確認しておいてください。
  古いモデルでは上限値が32GBまでで、64GB以上で必須のexFATに対応していない物が
  存在しています。容量は減りますが迷ったら32GBの奴選べばまず問題ないです。

いろいろ試す34

あああ…夏がおわる…

●GNU Arm Embedded Toolchainが新しくなった夏
忘れたころに更新されることで有名なARM提供のGCCツールチェイン
が更新されていました…

日付は6/23版となっています…2018q2版になってますね
下記の修正が入っています。他は大きな違いはないと考えられます。

Important changes in 7-2018Q2 update release:
* Fixed powf/expf/exp2f/logf/log2f performance regression
https://answers.launchpad.net/gcc-arm-embedded/+question/662462
* Added support for Arm Cortex-M33 without DSP via -mcpu=cortex-m33+nodsp
* Added Armv8-R multilib mappings
* Fix build requirements for GDB tui support
* Enabled C99 IO format specifier in newlib
* Fixed cmse_nonsecure_caller Armv8-M Security Extension intrinsic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85203
* Fix crash in __builtin_arm_set_fpscr GCC builtin
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85261
* LTO bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966
was fixed in previous release. Release note updated to reflect the change.
* Fixed issue with building libgcc's cmse.c without headers
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1717502
* Fixed issue with arm_cmse.h C99 compatibility
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1773934




●UHS-兇離泪ぅロSDカードを動かしてみる

買ってしまった…
日本橋に寄った際に目に入ったUHS-兇離泪ぅロSDカード…
ねむいさん今省エネモードなのでお金の使い方も省エネで64GBとか買えないので
32GBのSDHCとなっています…



東芝のEXCERIAシリーズの最高峰に位置するM501とかいうモデルです!!!
UHS-桐僂涼嫉劼追加されていますね!



SDカードサイズへの変換アダプタもUHS-胸斗佑箸覆辰討い泙垢諭


早速ベンチマークをとって見ましたが…ねむいさんのUSB3.0カードリーダーは
UHS-教格に対応してなかったorz
ていうわけでUHS-Iの規格ですがチマチマ書き込みもまぁそこそこですし使い物には
なると思います。


ねむいさんのいつものでカード情報を読み出してみました
FatFs module test terminal for STM32F769NIH6
LFN Enabled, Code page: 932
AppVersion : W.I.P
Build Date : Jul 28 2018
>fg piano
rc=0 FR_OK
>fo 1 ftbt.mp3
rc=0 FR_OK
>fr 132949600
132949600 bytes read with 20989 kB/sec.
>ds 0
rc=0
Drive size: 62529536 sectors
Erase block size: 8192 sectors
Default r/w block size: 512 bytes
Card type: SDv2(Block)
CSD:
00000000 40 0E 00 32 5B 59 00 00 EE 87 7F 80 0A 40 00 53 @..2[Y.......@.S
CID:
00000000 02 54 4D 58 41 30 44 35 44 E2 51 8E B2 01 12 6B .TMXA0D5D.Q....k

Parsing SD CID Register
Manufacturer ID :0x2
OEM/Application ID :TM
Product Name :XA0D5
Product HwRev :4
Product SwRev :4
Serial Number :0xE2518EB2
DateCode.Month :2
DateCode.Year :2017

OCR:
00000000 E1 FF 80 00 ....
SD Status:
00000000 80 00 00 00 05 00 00 00 04 02 90 00 20 07 3E 00 ............ .>.
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
SCR:
00000000 02 B5 84 03 3C 03 47 82 ....<.G.

Parsing SCR
SD Spec Version :2
SD Spec Version 3 :1
SD Spec Version 4 :1
SD Spec Version X :0
SD Security :3
SD Bus Width :5

SD_Spec V4.xx!
Detected as SDHC Card!
Available UHS-II Mode.

ちゃんとUHS-競癲璽匹あることを認識していますね。
STM32シリーズはUHS-競癲璽匹離ぅ鵐拭璽侫А璽垢呂泙逝減澆靴討りませんが
UHS-競癲璽匹あるか否かはACMD41コマンドでわかります。
ACMD41を打って還ってくるレジスタの37番目のビットが1ならばUHS-饗弍を
唱っていることになります。



●OpenOCDにセキュリティホールがあるらしい
まじかー
OpenOCDも攻撃されるほど有名になっていたのですね〜

一応対応策が提示され、gerritにも上がっているようですが2018年の1月で
審議が止まっているようです

STM32F7CubeがV1.12.0になった

とうとう1年の半分が終わってしまいましたね…
STM32やOpenOCD関連は今でも地味に着実に更新が続いておりますのでこちらも地味に
紹介を続けさせていただきます…



さて、今回の更新ではSTM32F7の低価格帯製品であるSTM32F73xとF75xのサポートが
追加されています。それに伴いHALライブラリもV1.2.6にアップデートしました。

F73xやF75xはたぶん早々にNUCLEOが出ると思いますがリリースされたら購入して
レポートさせてもらいます。それと海外の人にも"H7の記事はまだか"と頻繁にメッセージ
いただきますがH7シリーズはひたすらDiscovery待ちです
現行出ているH7は機能がちょっと微妙でF7から乗り換える利点があまりなく、
次世代のもうちょっと機能が上がった奴を待っている状態です。

もう一つの更新は…STM32F7もどっかのLPC4300シリーズみたいにQSPI等の外部ROM
にメモリマップドでつながったプログラムを実行できるのですがそれの実例が追加
されたことです。残念ながらSTM32の場合はブート時にいきなり外部ROMから起動は
出来ず一旦内部Flashでブートコードを経由して実行する仕組みになっています。

まぁF7の場合はキャッシュと莫大なRAMと内部Flashがあるので無理くそQSPIにプロ
グラムを実行しないでもいいのですが来月あたりに時間ができたら私も実証して
みたいと思います。


ということでSTM32F7CubeV1.12.0を反映したFatFs移植例はおきぱに公開したので
皆さんご利用ください。またFatFsも0.13bの新しいパッチが出ていたのでこちらも
盛り込んでおります!

OpenOCD小ネタ22 -STM32F7系CFG変更の件-

まだ6月ですがもう梅雨が終わりそうなくらい暑いですね〜
子供の頃の季節感覚だと6月に梅雨が終わり7月から夏!
て感覚なので実際の季節がそれに近くなってるのかも…


さて、OpenOCDのSTM32F7系向けのcfgファイルが更新されていますので
お知らせします。


内容はリセット時のクロック設定を内部高速クロックに変えて、さらにPLLを
経てコアクロック周波数160MHzにブーストしたものが反映されております。
スクリプトはオリジナルは…

$_TARGETNAME configure -event reset-init {
# Configure PLL to boost clock to HSI x 10 (160 MHz)
mww 0x40023804 0x08002808 ;# RCC_PLLCFGR 16 Mhz /10 (M) * 128 (N) /2(P)
mww 0x40023C00 0x00000107 ;# FLASH_ACR = PRFTBE | 7(Latency)
mmw 0x40023800 0x01000000 0 ;# RCC_CR |= PLLON
sleep 10 ;# Wait for PLL to lock
mww 0x40023808 0x00009400 ;# RCC_CFGR_PPRE1 = 5(div 4), PPRE2 = 4(div 2)
mmw 0x40023808 0x00000002 0 ;# RCC_CFGR |= RCC_CFGR_SW_PLL

# Boost SWD frequency
# Do not boost JTAG frequency and slow down JTAG memory access or flash write algo
# suffers from DAP WAITs
if {[using_jtag]} {
[[target current] cget -dap] memaccess 16
} {
adapter_khz 8000
}
}

$_TARGETNAME configure -event reset-start {
# Reduce speed since CPU speed will slow down to 16MHz with the reset
adapter_khz 2000
}

となっていますがねむいさん提供のOpenOCDバイナリはオリジナルから若干違います。


$_TARGETNAME configure -event reset-init {
mww 0x40023C00 0x00000102 ;# FLASH_ACR = PRFTBE | 2(Latency)
# Configure PLL to boost clock to HSI x 4 (64 MHz)
mww 0x40023804 0x03001008 ;# RCC_PLLCFGR 16 Mhz / 8(M) * 64(N) / 2(P)
mmw 0x40023800 0x01000001 0 ;# RCC_CR |= PLLON | HSION
sleep 10 ;# Wait for PLL to lock
mmw 0x40023808 0x00001000 0 ;# RCC_CFGR |= RCC_CFGR_PPRE1_DIV2
mmw 0x40023808 0x00000002 0 ;# RCC_CFGR |= RCC_CFGR_SW_PLL

# Boost JTAG frequency
adapter_khz 4000
}

コアクロックを上げた後クロックを上げていますが安全のためオリジナルと違って
4000kHzまでとしております(JLINKがこの周波数以上ではなぜか不安定)。

いずれにせよ使用感は変更前とまったく変わらない感覚ですので皆さま安心して
お使いいただけると思います!

Go to top of page