読んで思った事
導入部分
初めから-23ページ: 非常にわかりやすく、この本を読むにあたって必要な本などの紹介があります。これは素晴らしいと思いました。
データーシート 2章6 (p.23)
データーシートを詳しく読むのは重要ですが、先に進めるにはちょっとムリがある気がします。
また、メーカーが提供しているアプリケーションノートとかFAQなどに言及してほしいいな。と感じました。
開発予算 2章7 : (p.25)
費用に関しては概算などで良いと思いますが、測定機だとか工具などは必要になる可能性があるのを書いた方がよいと感じました。
1.14.1 各種コード
インターネットのアドレスが多く書かれていますがURLが長すぎます。本の限界かも知れません。例えば自分のHPにリンクだけのページを作成しておいて本にはリンクページにある参照番号などを記載する方が良いのではないでしょうか。
3.4 マイコン開発を学ぶ意義
これは今までに無かった視点。参考書籍の説明も良い。(でも参考書籍を買う予算は?)
3.5 マイコンのシステム構成の概要
この メモリ<->CPU<->I/Oというような図は概要としても変な気がします。後で正しい説明しているからいいか。とも思いますが、ALUのビット数と命令セットのビット数とメモリーバスのビット数は異なる事もあるので、速度とかいう話は後にした方が良いと感じました。
3.5.1 CPUの動作
逐次動作方式の説明、これでは絶対にわからない。パイプラインの説明はいらないと思うぐらい荒っぽいと感じる
ついでにハーバードアーキテクチャ、これもこのページでこの順序で説明するのはムリ。
RAMの説明
これも説明していない言葉が多すぎでムリという気がします。私はこういう図は好きだけどね。
ROMの説明
ARMの内蔵ROMだけの話だと基本的にはEEPROMだけなので書く必要があるのかな。と思う。
3.5.2.2 メモリの構成
本当にこのあたり厳しいと思います。
もっとシンプルにとりあえずページとかの概念は無視、例えば16KB, 8ビット幅のROMとかを想定して具体的に10進数、2進数、16進数で説明して、線が何本いるとかいう話をしたほうがよい。
3.5.2.2 (続き)
メモリマップは章をわけるべき
(p.49)
4ビットCPUを使う場合でもメモリの1番地あたりの記憶容量は8ビット1バイトです。というのがあるが、そうとも限りません。ARMの場合はという説明にしたほうが良いと思います。例えばPDPとか昔のミニコン、PIC等は異なります。
3.5.2.3 レジスタ
マイコンの定義にはI/Oがあるかとかありません。CPUと区別する説明はそのままの説明をすると難しくなってしまします。
周辺機器+メモリ+CPUが入ったマイコンとして特定のマイコン型番を定義してから、その中のCPU部分とかいう形にしてはどうでしょう。
あとレジスターの本数が少ないのはハード上の問題ではなく、大抵の場合、命令セットが大きくなる事が問題です。
3.5.3.1 GPIO
あらかじめこういった内蔵I/OやメモリについてCPUとは別の物が内蔵されていることを、パソコン用CPUとの比較じゃなく、ちゃんと説明をしておいた方が良いと思います。
図3-12
この矢印は流れる電流を意図していると考えられるが、入力ピンはあんまり電流が流れないし、少し違うと思う。
3.5.3.4 タイマ
CPUのクロックについて説明してないからような気がする。
3.5.3.5 PWM
ここは応用を説明するよりも、具体的にどういう波形が出来るのかを記載するだけにするのはどうでしょう。そしてこれを使った応用を後で説明というような構成にするとか。
3.5.3.6.1.2 シリアル伝送
この説明はおかしい。GNDはパラレル背宇属でも必要です。送受信では双方向バスを指定しない限りパラレルでも必要ですし、シリアル転送でも双方向を1本の信号線で行う場合もあります。
概念的な部分だけを説明したほうが良いと感じます。
3.5.3.6.5 SPI
この説明でわかるとは思えないのですが
(p.82)
送信している間に、一方でデーターが受信された の箇所を、別の受信データーが届いた場合に というほうが良いのでは
3.5.3.8 DMA
DMAは割り込みと違って大きなデーターや、すぐに対応する必要の無い物を扱う事が多いなどの特徴を書いて、最後に転送が終わったら割り込みがかかるとか、そういう事の説明が必要だと感じました。
AMBA,AHB,APBの違い (p.85)
まず覚えられないし本当に参照するなら、その場で書いた方がいい気がする。(この本で参照している箇所が無いように思える)
図3-36はおかしい
3-3も同一だけどメモリに見えるだけでその動作が問題 GPIOの説明4-1までやるのなら明確にすべきじゃないか