H8(その10)

H8に書き込めない問題継続中。

 

windowsPowerShellのkz_h8writeからは書き込める。

Bash on Ubuntu on Windowsのminicomで通信は出来る。

上記の事から、Bash側のポート設定が間違っているか、kz_h8writeがおかしいか。

 

昨日の朝にやってみたら、書き込めた!

なぜ?

 

一応もう一度確認の為に書き込んでみようとしたら、

書き込めなかった!

なぜ?

 

そういえば公式ブログに、ラズパイとのつなぎ方が乗ってたのを思い出した。

H8も同じだろうということで、やってみた。

sudo chmod 666  /dev/stty3

stty -F /dev/ttyS3 sane 9600

stty -F /dev/ttyS3 raw 9600 -echo -echoe -echok -echoctl -echoke -iexten -onlcr cs8 crtscts

を試してみる。

駄目だった.....。

 

Bitrate sequence failed.(CODE=0x04)となる。

 

qiita.com

このサイトを見てcatコマンドを試してみた。

f:id:Aluminium:20170429094201j:plain

読める。やはり読むことは出来るようだ。

 

 

...ごく稀に書き込めるのがよくわからない。

諦めよう。

windowsから書き込むことにして、次に進もう。

H8(その9)

まあ、分からないところは、

そんなものだと理解してスキップ。

 

進めていったら、romに書き込めないことが判明した。

(アップグレード後に確認を怠った)

通信で、読むことはできる。

なぜだ?

 

windows 版のkz_h8writeからは書き込めるので、ポート設定関係?

H8(その8)

ステップ2を読み進めているけど、

p65のプログラム

#define H8_3069F_SCI0 ((volatile struct h8_3069f_sci *)0xffffb0

で、0xffffb0の前の型が書いてある理由がわからない。

 

それと、

static struct{

 volatile struct h8_3069f_sci *sci;

} regs[SERIAL_SCI_NUM]={.........}

 

構造体の配列を使っているけど、メンバが1個しかないのに、

なぜ構造体の配列にしているのかわからない。

 

追記

0xffffb0の下りは、以下のリンクの真ん中あたり、

http://www.eleki-jack.com/h8/2009/09/h8-21h8c.html

 したがって,ここでただ単に「0xffe9」と書いただけではこれは単なる整数値であって,コンパイラはこの数値がメモリのアドレスを意味しているとは 思ってくれません.それを教えてやるために整数「0xffe9」を「unsigned char 型へのポインタ」としてキャスト変換し,

(unsigned char *)0xffe9


と書きます.するとコンパイラは「この0xffe9 というのは,なにかunsigned char 型のデータが格納されたアドレスなんだな」と認識してくれるようになります.

 ポインタの基本中の基本だった。

 

H8(その7)

結局再インストールした。

日本語の崩れはずいぶん治った。

 

すぐにやり方忘れてしまうので、メモ。

1. セルフコンパイラをインストール  apt-get binutils , gcc ,make

2. クロスコンパイラをインストール  binutils-2.19.1.tar.bz2 (2.28だと出来なかった)

   ./configure オプションは--disable-werror

3. gccインストール gcc.3.4.6tar.gz   gcc/collect2.cを修正。

 オプションは、--disable-nlsを--disable-werrorにする。

 64bitの場合は、以下のサイトの3.を見る。h8300.cを修正qiita.com

4. シリアルポートのパーミッションを変更(必要ないかもしれないけど...) chmod 666 /dev/ttyS3

 (シリアル変換器のドライバは、最新じゃないドライバを使う(windows10))

5. kz_h8write, minicomなどを入れる

 

H8 (その6)

めちゃくちゃタイムリーな記事を見つけた。

つまり最近、シリアル通信ができるようになったと言う事か。

blogs.msdn.microsoft.com

 

pc.watch.impress.co.jp

 

と言う事で、InsiderProgramをonにして、やってみた。

 

なんかよくわからないコマンドを入力たりしたけど出来なくて、

再起動したら出来た。

えー。

 

f:id:Aluminium:20170423155744j:plain

 

minicomで通信。

出来た。(日本語だと表示が崩れて、終了出来ないのでLang=cで起動)

f:id:Aluminium:20170423163906j:plain

 

CreatorsUpdate後のUbuntuのバージョンアップで、

日本語の崩れは解消されるらしいけど、また環境インストールし直すの!?