08/11/30 15:06:00 sZDKIY+F
2ゲット
3:774ワット発電中さん
08/12/02 12:22:37 aqzh/ACe
EDN12月号の表紙のRENESASの広告の女の子で抜いた
のうし先輩は最近の広告でオススメありますか?
4:774ワット発電中さん
08/12/07 21:28:48 QNpS9cFW
SH4をつかいたいんだが、開発環境が高いなー。せめて3万円くらいにしろよ。
10万じゃ高すぎ。
E8Aはすごくいい。しかし今使ってるCPUの中ではM16しかデバッグできない。
M16は好きじゃないんだよな。
TIのMSPを見習えよな。安くて機能がすごくいい。
5:774ワット発電中さん
08/12/08 12:39:27 iZFKjzDu
そんなに いいですか?
例えばどこらへん?
6:774ワット発電中さん
08/12/09 09:27:42 E/VZbDZi
H8/3048か3052で、プログラム側からマイコンを
ソフトウェアリセットする方法を教えてください。
7:774ワット発電中さん
08/12/09 14:39:52 WZ1kDjDM
ウオッチドッグでイってしまえ
8:774ワット発電中さん
08/12/09 16:51:24 rNcN3nQ8
リセットベクタ読み込んでそこにジャンプ
9:774ワット発電中さん
08/12/09 17:37:09 kOgsK2cy
それでリセットになるんか?
10:774ワット発電中さん
08/12/09 17:41:22 rNcN3nQ8
リセット後の初期化がしっかりしてれば、大丈夫じゃないの?
11:774ワット発電中さん
08/12/09 17:49:02 rNcN3nQ8
割り込み禁止にしてとんだ方が安全かも?
12:774ワット発電中さん
08/12/09 17:59:41 Rq6xeU8/
>>9
そらハードウェアリセットのようなわけにはいかんだろうさ。
13:774ワット発電中さん
08/12/09 18:08:01 kOgsK2cy
ならハードもリセットされるウオッチドッグのタイムアウトの方がよかんべ。
14:774ワット発電中さん
08/12/09 18:38:03 rNcN3nQ8
時間がかかってもいいなら、ウオッチドッグの方がいいと思う。
15:774ワット発電中さん
08/12/09 21:42:19 NLQj5+he
M16Cの62PにSRAM付けて遊んでるんですが、
sscanfの出力先をSRAMのバッファにすると動かないんですが、何か方法はないんでしょうか?
sram_ram.cに
sWkBuf[256];
test.cで
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
・
・
・
iRet = sscanf(bTempBuf, "GET %s", sWkBuf);
みたいな事をやると、iRetは正の整数が帰ってくるのですが、sWkBufの中身は何も書き込まれません。
iRet = sscanf(bTempBuf, "GET %s", sWkBuf_local);
みたいな感じだとうまく行きます。
16:774ワット発電中さん
08/12/10 00:55:10 BbHiq31V
sWkBufにはR/W出来るの?
17:774ワット発電中さん
08/12/10 07:24:40 1IbRXyJ9
>>15
調べてないんではずしているかもしれんが、現象から考えると格納する
sscanf の結果を格納する変数の宣言がnear になっているような。
near は、64Kアドレス以内の変数の宣言。far は制限なし。
ただし、near は2バイト、far は4バイトのポインタ変数になる。
外付けRAMはおそらくfar なのでそれでだめなのではないかな。もしそうだと
すると、sscanf の出力変数に外付けRAMの変数(sWkBuf)を指定することはできない。
とりあえずsscanf の宣言を確認してみたらどう。
18:774ワット発電中さん
08/12/10 17:22:38 cezqmqkH
H8マイコンを選ぶ理由を教えてください。
19:774ワット発電中さん
08/12/10 17:57:41 a87bzOfi
トラ技2004年4月号に付録で付いてたから。
20:774ワット発電中さん
08/12/10 21:37:20 BbHiq31V
char_farってのがあるんだ。
21:15
08/12/11 23:32:10 x6O9APaZ
>>16
R/Wはできます。strcpyができました。
>>17
extern _far char sWkBuf[256]; としてます。
sscanfっていうか、ルネサスのコンパイラは関数全てがfarポインタになっています。
extern _far char sWkBuf[256]; としても、sWkBufって形でポインタで扱うとnearになっちゃうんですかね?
22:774ワット発電中さん
08/12/12 13:26:16 jY3d9Z7M
教えてください。2つあります。
H8/3069に、外部バスでSRAMを接続する回路を考えています。
1. WR, RD, CS関係はわかったのですが、AS(アドレスストローブ)の使い方が
わかりません。
ASは「アドレスバスの信号が全部確定しましたよ」という信号だと思っています。
メモリへは、data, address, CS, WR/RDをつなげば、動作すると思うので
このASはどうすべきかと悩んでいます。
予想するに、H8のCSを使わずに、H8外部で74HC138などでアドレスをデコードするときや
1つのCSバンク内で複数のデバイスを使用するためにアドレスを分割したいとき、
CSのハザードが出ないように138のGにASをつなぐ、そんな時に使うのではないでしょうか。
だとすると、
バンク内に1つのSRAMという構成の場合は、AS出力は開放のままで良くて、
WR, RD, CSのみでOKではないかと考えています。
2. 上位アドレス線の扱い
SRAMとして1Mbitの物をCS2に割り当てようとしていますが、
1Mbitなので、アドレス本数は、16本(A0~A15)までしか必要有りません。
なので、A16~A19の4本は、使わなくても良いと考えています。
そこで、わからないのは、
1バンク2Mbyteの空間用のCS出力があるにもかかわらず、
アドレス線がA19まである理由がわからないのです。
もしかすると、「オレはCSなんて使わないんだよ。外部でFPGAで
アドレスをデコードするからね」という人用に、全本数のアドレス線が
出ているのでしょうか?
上記の考えは正しいでしょうか?
どうぞ宜しくお願いします。
23:774ワット発電中さん
08/12/12 16:58:51 TPG8BwX0
タイミングさえ満たせるなら使おうが使うまいが好きにすればいいよ。
/ASは、/CSやストローブに対してアドレスのセットアップやホールドを要求する
デバイスの一部で便利なこともあるが、SRAMは使わなくても繋げられる。
2はただの勘違いでしょ。
2Mbyteの空間内の任意の場所を指定するには21ビットのアドレス、つまりA0~A20が必要。
24:774ワット発電中さん
08/12/12 19:54:06 jY3d9Z7M
>>23
ありがとうございます。
/ASの件は、了解です。概ね合っていて、安心できました。
アドレスの件は、ご指摘の通り間違えています。すみません。
1MbitのSRAM(64k×16bit)でした。なので65536アドレスとなり、16bitアドレス。
全然違うこと言ってました。すみません。恥ずかし。
で、/CSがありながら、アドレスが全線出ている理由は、あの内容で
正しいでしょうか?
ありがとうございました。
25:774ワット発電中さん
08/12/13 00:09:42 JNxkV3j2
>2はただの勘違いでしょ。
26:774ワット発電中さん
08/12/13 14:42:11 Gi+JMd9w
>24
まず、/CSが2MB単位って言ってるけど、3069の場合、レジスタの設定で
そうじゃない動作も出来るでしょ。そのとき一番広いエリアは8MBあるよ。
それはおいておくとしても、例えばVRAMを2MB以上もつ液晶コントローラを
繋げたい場合なんか上位のアドレスが必要になるけど、複数の/CSから
上位アドレスを作るのは面倒だし速度的にも不利だよ。
あるいは2MB以下の範囲でも、2つのエリアをまたいでデコードしたい場合も
2本の/CSと下位アドレスでデコードするより上位アドレスがあった方が
便利かもしれない。大して変わらんと言われれば仕方ないが。
要は、無くて困ることはあっても、有って困ることはないから用意してあるんじゃないか。
その信号が要らないなら使わなきゃいいだけ。
27:774ワット発電中さん
08/12/13 17:16:10 f9TFKJX4
>>26
ありがとうございました。具体的な説明でよくわかりました。
つまり「どちらでもできるように出してあるので、ユーザーが考えて使い分けなさいよ」
という認識ですね。ありがとうございました。
>複数の/CSから上位アドレスを作るのは面倒だし速度的にも不利だよ。
この場合、2つの/CSを、Low NORするという手法を考えてしまいますが
正しいでしょうか。たしかに速度的にそんな感じがしますが、
上位アドレス多bitを、切り出してアドレスデコードすると、ゲートをたくさんくぐるので
CSのLow NORでも、結構やれるんではないでしょうか?
>あるいは2MB以下の範囲でも、2つのエリアをまたいでデコードしたい場合
これは、CSより下のアドレスを切り出す必要があるので、
CSでやるより、CPLDなどにデコードしてもらった方が良いですね。
28:774ワット発電中さん
08/12/13 19:10:36 f9TFKJX4
教えてください。
H8/3068は、H8/3069とROM容量以外に 何が違うのでしょうか?
ルネサスの総合カタログを見ましたが、特に何も謳っていないみたいです。
3069と置き換えができるとか....I/Oヘッダファイルとかも同じならさらに嬉しいんですが。
秋月に1250円で売っているので、いいなとぁ思いました。
29:774ワット発電中さん
08/12/13 19:57:16 E7PeOmGd
動作モード6が使えないが、基本的には同じ。
もしかしたら一部機能に拡張があるかもしれないが、レジスタ設定で
ソレを有効にしない限り従来品と同じ動作をするようになっている。
30:774ワット発電中さん
08/12/13 20:01:06 E7PeOmGd
あ、ピン配も互換だから基板にはそのまま載せ換え可。
31:774ワット発電中さん
08/12/13 20:10:42 f9TFKJX4
>>29,30
ありがとうございます。いいこと聞きました。
では、
・通常使用 → 秋月で3068を
・メモリたくさん欲しい → 同じく秋月で3069を
・3.3V駆動したいなら
3069(5V) → 3029(3.3V、入手先不明)
3068(5V) → 3028(3.3V、入手先不明)
ということですね。
モードは、7と5が使えれば、全然問題なしです。(殆どはモード7で使用です)
ありがとうございました。
32:774ワット発電中さん
08/12/17 22:57:13 a0SYGrFM
キーボードのキーを自動的に入力する為に何かいい方法を探していて
マイコンならプログラムみたいに自由に組む事が出来るのでいいのではと思い
H8/3664を秋月電子から購入し
LEDをちかちか点滅させるまでどうにかいけたのですが
キー入力はショートさせるだけでいいのでリレーのような機能がマイコンで表現できないのかなと思っています
リレー回路のように1のとき導通させたり 0の時は切り離したりという事は出来るのでしょうか?
33:774ワット発電中さん
08/12/17 23:15:42 29szEH25
つ 4066
34:774ワット発電中さん
08/12/19 20:53:42 w4ocCSFH
H8/3069に8ビットSRAMを接続したんですが、特定のデータビットだけ
うまくいかない。
具体的には(D14、D15)で、なぜかD14は読み込むと1がたったままで
D15は何も反応せず、0x80を買いても読み込むと0x40になってしまう。
下位のD8~D13は問題ない。データバスは30Ωのダンピング抵抗を通して接続
している。不思議なのはD14のダンピング抵抗をはずすと、つながっていないはずなのに
0x00~0x7Fまでなぜか読み書きできるようになる。
接続はデータバスに関してはピン番号も規則的で間違っていないと思う。
アドバイスお願いします。
35:774ワット発電中さん
08/12/20 00:24:55 QWvnzGxV
>>34
MOV.L #メモリの番地,ER1
MOV.B #H'00,R0L
MOV.B #H'FF,R0H
LOOP:
MOV.B R0L,@ER1
MOV.B R0H,@ER1
BRA LOOP
みたいなプログラムを走らせてオシロで各端子の波形を観測する。
36:774ワット発電中さん
08/12/20 22:34:23 zit/3ecW
>34
配線ミスか半田不良だろ。
何より一番いけないのはこれだ。
「接続はデータバスに関してはピン番号も規則的で間違っていないと思う。」
そんなこと思わなくていいからまず確認する。
自分のしたことを真っ先に疑う、これがデバッグの鉄則だ。
37:774ワット発電中さん
09/01/04 16:36:11 mfp9eYj7
謹 賀 新 年
今 年 も ど う ぞ 宜 し く お 願 い し ま す。
38:774ワット発電中さん
09/01/05 14:20:38 iXJ0Hv4P
何か最近H8関連のスレが伸びないけど、もう人気無くなったのかな。
みなさん別のマイコンに移って行ったとか?
あるいはFPGAに移動とか?
ちょっと寂しいなぁ
39:774ワット発電中さん
09/01/05 19:10:59 TqJsVkk8
仕事では相変わらず使っとる
40:774ワット発電中さん
09/01/05 21:43:02 o6iyArRa
最近やり始めたなら、はじめてのマイコンがH8(の3069F-LAN)だった
という人はきっと多いはず。他のは導入にライタが必要だったり
躊躇する要素があるからだ。
速度はともかく2MB、RS232C、有線LAN付きのオールインワン的な
マイコンボードが完成品で、しかも安く入手できる。
これが無かったらどうなっていただろう。
2chで人がいないのは、単純にH8専用スレ?が無意味な1行レスで
荒らされてるのが原因じゃまいかと。
41:774ワット発電中さん
09/01/05 23:30:49 NK7L88br
だよね
すごいね、いいね、のオンバレードじゃ
嗚呼ここには馬鹿しかいないのかと思う他ない
やってる人は黙々を手を動かしてる
そんな当たり前の状況だろうな
42:774ワット発電中さん
09/01/06 12:13:18 5oLJd6BZ
教えてください。
H8にFPGAをつないで、
・H8が指示する値をFPGAのレジスタに書くと、そのレジスタ値をFPGAが読んで実行する。
・逆に、FPGAが制御中のレジスタの数値を、H8が読む事ができる。
というようにしたいです。
H8からメモリのように読み書きすれば、それがFPGAのレジスタに読み書きされるように
したいのです。
そこで、H8は外部バスモードで駆動して、H8とFPGAを以下のようにつなごうと考えています。
・H8 A15~A00、D15~D00 → FPGAへ
・H8 /HWR、/LWR、/RD、/CS4 → FPGAへ
上記の接続で良いでしょうか? 他に接続すべき線はないでしょうか?
気になっている線には、 /AS、/BREQ、/WAIT、/IRQ、/RESET などがあります。
43:774ワット発電中さん
09/01/06 16:36:33 nYM5/OFd
H8の内臓ROMを2分割してプログラムA(仮に0x000000番地からとする)
プログラムB(仮に0x300000番地からとする)
を格納したいのですが、可能でしょうか?
具体的にはプログラムAがBIOSみたいなもので、ある条件
をみたしたらプログラムBに分岐するみたいな。
開発環境はHEWなんですが、プログラムAは普通にHEWの骨組み
を利用すればいいですが、プログラムBの割り込みやセクション
設定がいまいちわかりません。プログラムBのP領域他を0x300000
からとすればよさそうですが、割り込み処理はベクタエリアが共通
なのでAとBで違う処理をする場合、アドレスがかぶるのでどうすれ
ばよいのかよくわかりません。
参考になるHPや書籍があったら教えてください。
44:774ワット発電中さん
09/01/06 17:31:36 cu57cTV5
>>43
ABどっちが走ってるかフラグで分ければいいんじゃね?
ABを完全に別にしたけりゃ、両方0番地から書いてバンクにするとか。
45:774ワット発電中さん
09/01/06 17:33:02 cu57cTV5
ああ、内蔵ROMか
バンクの話は無しだな
46:774ワット発電中さん
09/01/06 17:38:32 tTAhahxK
>>42
接続すべきでない線があるような?
47:774ワット発電中さん
09/01/06 18:03:27 tTAhahxK
>>43
H8SXならベクタテーブルを変えられる。
トリッキーだけど、H8/3069でベクタテーブルをRAM化したことがある。
48:774ワット発電中さん
09/01/06 20:27:39 5oLJd6BZ
>>46
>接続すべきでない線があるような?
えっ、そうなんですか? ぜひ教えてください。
もしかして、A00でしょうか? 16bit幅だから偶数番地しかアクセスしないから
要らないだろう、ってことでしょうか。
仮に接続してしまっても、FPGA内で使わなければ良いのかな、とも思います。
49:774ワット発電中さん
09/01/07 12:32:31 kPmMr2YZ
>>42
気が変わったら8ビットバスモードにも変更できるしA00つないでおいても特に問題ない。
というか、/CS使うんだしアドレスを16本もつながなくてもいいんじゃないの?そんなに大量にレジスタ作るの?と思わなくもない。
ピンに余裕があるなら使いたい分だけつないで好きなようにデコードすればOKです。
>/AS、/BREQ、/WAIT、/IRQ、/RESET
どれも別に必須ではない。回路側で色々やりたいなら用途がでてくるかもしれない。
でも/ASなんて全く必要にならないだろう。リセットは欲しいかな。
別にあっても悪さをするわけではないので、つなぎたければ全部つなげばいい。
50:774ワット発電中さん
09/01/07 13:34:06 7Pce05iU
>>49
ありがとうございます。全て了解です。安心しました。
>/CS使うんだしアドレスを16本もつながなくてもいいんじゃないの?そんなに大量にレジスタ作るの?
>>42ではレジスタと言いましたが、ビデオメモリという感じで使いたいんです。
H8で書いたイメージを、FPGAで表示処理してもらう、という感じです。
要は、FPGA内部のブロックRAMをデュアルポートRAM的に使いたいのです。
ただ、絵の領域はそんなに広くないので、A15までは要らないと思います。
>でも/ASなんて全く必要にならないだろう。リセットは欲しいかな。
リセットはつないだ方が良いですね。私のミスでした。
マイコンがFPGAをリセットするというのもありなので、
H8と同じ/RESETを持って行かなくてもよいと思いますが。
ありがとうございました。
FPGA内部のブロックRAMを、デュアルポートRAM的に使う方法として、
CoreGenのデュアルポートメモリのIPを使おうとしていますが、
一般的に、その場合 何か特別な配線が必要なものでしょうか?
バス衝突が起きたときに、H8の/WAITを引くとか....
51:774ワット発電中さん
09/01/08 13:53:04 ekVF2lPY
WAITを使うとか、BREQ使うとか、そもそも衝突がおきないようにしとくとか
52:774ワット発電中さん
09/01/08 14:29:01 6BkH+l+W
>>51
ご回答、ありがとうございました。
53:774ワット発電中さん
09/01/09 14:03:42 PxNNiSfS
H8のRAMアクセスについて教えてください。
スレリンク(denki板:51-52番)
のやりとりで、
H8とRAMの配線で、LSBを配線しない理由は、
偶数始まりでアドレスを指定するからであり、
なぜ、偶数始まりで指定するかというと、
メモリをちゃんと無駄なく0番地から使うために、0と1、2と3・・・となる。
と予想しています。
それはそれでOKなんですが、
もしアドレスを 0番地を使わずに、1と2、3と4・・・という使い方をするならば
H8とRAM間の配線でLSBの配線も必要になる、という考えは正しいでしょうか?
あるいは、16bitアクセスする事自体ができないようになっているのでしょうか?
54:774ワット発電中さん
09/01/09 14:47:26 U2bxusMt
H8って奇数番地からの16bitアクセスって出来たっけ?
55:774ワット発電中さん
09/01/09 14:59:48 VP7n1sqU
エラーは出ないが、偶数番地からワードアクセスしたのと同じ結果になる。
(300Hの場合)他は知らん。
56:774ワット発電中さん
09/01/09 15:11:48 VP7n1sqU
で、
>>53
>もしアドレスを 0番地を使わずに、1と2、3と4・・・という使い方をするならば
>H8とRAM間の配線でLSBの配線も必要になる、という考えは正しいでしょうか?
間違い。
バスコントローラが、16ビット空間として設定したアドレスに対して
/LWR,、/HWRを使い分けてくる = A0がデコードされているのと同じ。
なのでRAMにA0を接続する必要はない。
/RDはCPUから見たら読むデータを選ぶだけ=区別する必要がないので常に1本。
57:774ワット発電中さん
09/01/09 17:02:38 qsqoXp5Z
>>54
V850 は(無駄に)できたりする。
58:774ワット発電中さん
09/01/09 17:11:33 U2bxusMt
>>57
intel系の流れを受けてるからでしょ。
V850って命令セットがおもしろいなと思った。
59:774ワット発電中さん
09/01/09 17:18:41 PxNNiSfS
>>55, >>56
ありがとうございます。
ということは、次のようで良いでしょうか。
ROM番地 A2 A1 A0 /HWR /LWR
0 0 0 0 1 0
1 0 0 0 0 1
2 0 1 0 1 0
3 0 1 0 0 1
4 1 0 0 1 0
5 1 0 0 0 1
あれっ? わからなくなってきた。 ヘルプ~~!!
60:774ワット発電中さん
09/01/09 17:49:49 U2bxusMt
使ってるマイコンのハードウェアマニュアルをよく読みませう。
61:774ワット発電中さん
09/01/10 13:37:26 gLxvdfQV
H8/3048でのSCI割り込み動作中にIRQでの割り込みに移るって事できる?
62:774ワット発電中さん
09/01/10 14:28:21 gUszblwN
割り込みレベルを変えればできるように思うけど。
63:774ワット発電中さん
09/01/10 15:48:08 wzMiXVAE
>>61
SCIの割り込み処理の中でSCIの対応した割り込みを周辺機能で禁止して、
CPUの割り込み禁止を解除すれば、多重で割り込み処理が出来る。
SCIの割り込み抜けるときは、逆の事やるのをお忘れなく。
64:774ワット発電中さん
09/01/11 15:39:15 EWJa85j9
こんにちは
お聞きしたいことがあります
HtermはVistaで正常に動作しますか?
開くことは開いたのですがマイコンが手元にないので細かい確認ができません
65:774ワット発電中さん
09/01/11 18:27:27 385vUdon
あけましておめでとう。 H8 万 歳 !!
66:774ワット発電中さん
09/01/14 01:55:47 9r6UdsVm
はい、おめでとう。 今年もH8を 宜しくね。
67:774ワット発電中さん
09/01/14 11:56:49 9Z3uEPZz
はじめてマイコン挑戦です。
マイコンはH8/3694Fです
データシート見てて思ったのですが
ポートBにPCRがないのはなぜですか?
68:774ワット発電中さん
09/01/14 13:06:34 9Z3uEPZz
>>67
自己解決しました。すれ汚しすいませんでした
69:774ワット発電中さん
09/01/15 22:38:04 WWMOQUaK
ちょいと教えてください
前から気になってるんですが、HEWでコーディングを行っているとき
構造体のメンバへアクセスするような記述をするとエディタの反応が
少し鈍くなるのですが、なにか特別な処理をしてるのでしょうか?
たとえば、
struct ABC {
int X;
int Y;
}
があるとして、
main()
{
struct ABC a;
a.X=128;
}
と書きたいとすると、「A.」と打ち込んだところで少しレスポンスが遅くなります
何でしょうか?
70:774ワット発電中さん
09/01/15 23:51:08 SnJHwlUJ
HEWでコーディングをしない
71:774ワット発電中さん
09/01/15 23:51:47 FyW72dBB
Aから始まる構造体がすでに定義されているかHEWが調べているから
72:774ワット発電中さん
09/01/16 00:46:15 NrYgcEXj
aのメンバを探して表示しようとしてるからじゃなくて?
自分も今SH2のHEWお試し使ってるんだけど
math.h include してatan2関数呼ぶと
リンクエラーが出る。
mathlibにatan2がないのか、mathlibがインクルード
されてないのか・・・
どーすればいいんだ。
73:774ワット発電中さん
09/01/16 01:07:18 NrYgcEXj
解決。
ビルドの項目にライブラリ指定するとこありましたね。
74:774ワット発電中さん
09/01/16 01:18:11 441L6xS6
>>71
>>72
VisualStudioみたいにインテリジェンスしてくれるならまだしも
なにもしてくれないみたいで、いったい何の処理やってるんだろうと
ずっと気になってる
関数呼び出しはプロトタイプを表示するみたいですね
75:774ワット発電中さん
09/01/21 13:42:09 NlufNZbO
H8/3694F用いています。
開発環境はHEW4です。
HEWでのスタートアップルーチンというのはどこに記述するのでしょうか?
またアセンブラのスタートアップルーチンは使えるのでしょうか?
参考書や、検索かけたのですがいまいち理解できませんでした。
76:774ワット発電中さん
09/01/21 14:31:59 hzWb5iVu
新しくプロジェクト作ったら hwsetup.c とか、その他いろいろおせっかいなファイルができない?
hwsetup.c は main 関数の前に走るはずだから、ハードウェアの設定なんかはそこに書けば
いいんでないの?どうしてもアセンブラ見たいなら、探せばあるだろうけど。
77:774ワット発電中さん
09/01/21 16:32:29 zTBlX6Fd
スタートアップルーチンはresetprg.cに雛形ができる。
URLリンク(www.infohobby.jp)
78:774ワット発電中さん
09/01/21 21:14:42 kURHHSdI
Flash.exe Ver.5.0って、ダウンロード出来る?
たどり着けないんだけどorz
79:78
09/01/21 23:57:29 kURHHSdI
自己解決しました。
80:774ワット発電中さん
09/01/25 08:54:50 uwzzC0zK
ルネサスなど軒並み赤字転落へ 半導体業界も人員削減の嵐
URLリンク(www.business-i.jp)
ルネサスは主力のシステムLSIの販売が急激に落ち込み、09年3月期は最終損益が2000億円規模の赤字(同95億円の黒字)に転じる見込み。
81:774ワット発電中さん
09/01/27 02:10:44 9b6RAsUR
HEWの製品版っていくらするの?試用期間すぎちゃった
82:774ワット発電中さん
09/01/27 04:05:16 lbZ4f81Q
10万くらい
正確に言うとHEWは無償だし、試用期間もないんだけど、
HEWと一緒に使ってるであろうSHCが有償で、試用期間が設定されている
83:774ワット発電中さん
09/01/27 09:21:28 9b6RAsUR
10万!?みなさんどうしてるの?
なにか裏技がある??
84:774ワット発電中さん
09/01/27 09:39:09 dBgiyjTz
制限ったって、SH で 256KB も作れるんだぞ。足りんのか?
まあ強いて言えば、いきなりそんなでかいプログラムになることはないので、
枯れたルーチンはアドレスの上位に固めて、別々にビルド、んでリンク。
…てのが NEC の環境ではできた。
85:774ワット発電中さん
09/01/27 13:51:25 JgZztgHz
H8/TINY使ってるのですが、RAMがたりません
増設はできるのですか?
86:774ワット発電中さん
09/01/27 13:57:25 NWwK4Stw
ピンコンパチでRAMの大きいのに載せかえる(あれば)。
なければ何か工夫して外部に置く。
バスがないのでめんどい。
87:85
09/01/27 14:18:50 JgZztgHz
>>86
Roger that.
ご助言ありがとうです。
88:774ワット発電中さん
09/01/27 14:40:26 W2MOrQgW
このスレで言うのもなんだけど、H8/tiny使うぐらいなら
容量大きめのPICやAVRのがいい気がします。
その辺どういう基準で選んでますか?
89:774ワット発電中さん
09/01/27 16:59:08 y/iIRaD5
>>8
さすがにPICとならH8の方がいいと思うけど、H8の中でも好き嫌いはある。
H8/Tinyは使わないようにしている。Port3が4bit毎にパッケージの対角線に
配置してあったり、割り込みベクターが無くて、PICみたいに判定してから飛ぶとか
使いにくいと思った。なので、今はH8/3069ばっかりでやってる。
ROM/RAMいっぱいで使いたい放題。機能も潤沢。
90:774ワット発電中さん
09/01/27 20:28:04 y/iIRaD5
× >>8
○ >>88
91:774ワット発電中さん
09/02/02 15:19:56 A0OkijwW
■韓国 重工業 売上高 2007年
斗山重工業 連結198億ドル (2兆3364億円)
現代重工業 15兆 5330億ウォン(1兆7552億円) 2008年は19兆9571億ウォン
三星重工業 08兆5191億ウォン(約9670億円)
■日本 重工業 売上高 2007年
三菱重工業 連結3兆2,030億円
川崎重工業 連結1兆4,386億円(二輪車事業含む)
石川島播磨重工業 連結1兆2,210億円
92:774ワット発電中さん
09/02/04 04:23:57 pCDAvCXH
URLリンク(japan.cnet.com)
>日立と三菱のマイコンが統合してルネサンス
>著者: おおぬか
さすがに頭悪すぎるぞ、おまぬか~。
93:774ワット発電中さん
09/02/04 15:11:41 C3Me0wfi
HEWで開発してるんですけど、外付けのRAMをつけて、
内臓RAM使用領域をオーバーした場合、外付けのRAM
領域の番地に変数を自動的に配置するようにできますか?
それともやっぱり外付けRAMにB~とセクション名をつけて
変数を確保するときは
#pragma section ~
変数
としなきゃ駄目でしょうか。
94:774ワット発電中さん
09/02/04 16:33:54 OOwFrZ4n
外付けのRAMをケツの方に割り付けると悩まなくてすむかも?
95:774ワット発電中さん
09/02/04 17:50:33 /dpY1Sqw
あんまり具体的な話じゃないのですが教えてください。
M16Cのボードで以下の機能のうちのいくつかが付いている(チップとコネクタが載っている)ボードを知りませんか?
・RTC
・UART
・外部フラッシュ
・Etherコントロール
できればM16C/6xシリーズだと助かります。
96:774ワット発電中さん
09/02/04 18:51:14 E05oYr+O
>>93
>内臓RAM使用領域をオーバーした場合、外付けのRAM
>領域の番地に変数を自動的に配置するようにできますか?
HEWで動的に配置条件変えるってこと?
なんでそんなことが必要なんだ。
そもそも内蔵RAM使用領域をオーバするかどうかをソフト書いてる人間が把握できなくてどうする。
callwalker使って使用スタックエリアを全て正確に把握するなんてのはソフト書いてる人間が
当然やらなきゃいけない作業だ。
97:774ワット発電中さん
09/02/04 18:52:15 rE8orrSI
全部外付けでよくね?
98:774ワット発電中さん
09/02/04 20:23:19 E05oYr+O
たしか、外部メモリは内部より遅かったよな
99:774ワット発電中さん
09/02/04 21:48:09 zMXrb1hl
内部クロックと外部クロックが違ってたらノーウェイトでも違ってくるね
100:774ワット発電中さん
09/02/05 00:32:41 LpPBLSup
外部アクセスは1ステート追加される?
101:774ワット発電中さん
09/02/05 10:01:53 LmSlNgZ6
93ですがH8のメーリングリストに同じような質問がありました。
MMUがなければどうもできないようですね。
URLリンク(www.exp.org)
URLリンク(www008.upp.so-net.ne.jp)
こちらのHPで紹介されてるように外付RAM容量>内臓RAMの場合、
RAMセクションを外付けRAMの番地に変更して内臓RAMは切り捨てるって
方法は割りと一般的なんですかね?
なんか数十キロバイトでももったいないなぁと思ったんですが。
102:774ワット発電中さん
09/02/05 13:18:28 tNj0Acyp
>>99
ノーウェイト、クロック同じでも。ステート数が違ったんじゃないかな?
3067だけど違ったような記憶があるんだけど。
>>101
>MMUがなければどうもできないようですね。
そんな問題か?
コンパイル時にはみ出した領域を外部メモリに自動配置するんだろ?
MMU云々は実行時の話じゃん。
103:774ワット発電中さん
09/02/05 20:59:46 C4y4XJHf
日立のHEWについて教えてください。
HEWは、フリーでダウンロードできると思いますが、
フリー版には、扱えるチップの限定があるのでしょうか?
あるいは、H8/3694~SHまで 全~部コンパイルできるのでしょうか?
104:774ワット発電中さん
09/02/06 00:00:04 X6Khjl4v
HEWは無償で機能制限があるのはSHCだと言ってるだろうが
このバカチンがっ!
実行コードの容量制限があるだけでチップの制限はない
SHの場合は256kBまでいける
105:774ワット発電中さん
09/02/06 11:58:46 hxzW+jH8
開発環境 HEW H8/3694F
I2Cにメモリ増設して読み書きしたいのですが参考になるサイトなどありませんでしょうか?
106:774ワット発電中さん
09/02/06 16:22:19 ChazZQNy
>>101
#pragma abs16
__near16
とか、使えば内蔵RAM使うように出来るしょ。
107:774ワット発電中さん
09/02/06 20:29:07 BLi4adVk
>>105
ルネサスのサイトにApノートがあるよ
HewについてくるDocumentUpdaterで簡単に検索できるよ
108:105
09/02/06 21:24:15 hxzW+jH8
>>107
ありがとうございます。ちょっと見てみます。
109:774ワット発電中さん
09/02/15 15:05:18 FuaJpjRv
私以外にも無償評価版止められて困っている人がいるのですね(^^
いまさら止めなくても・・と愚痴ってもしょうがないので製品版で持っているHEWの1.2を
引っぱり出してきてコンパイルしたら組み込み関数nop()が使えないじゃないですか・・
インラインアセンブラで書くしか方法がないのでしょうか?
やったことがないので書き方の例とか教えていただければ助かります。
110:774ワット発電中さん
09/02/15 18:08:05 +n5I96zD
>>109
>無償評価版止められて困っている
え!?
111:109
09/02/15 19:24:01 FuaJpjRv
そう、オンラインアップデートによって止まったんだと思うんですけどね。
112:774ワット発電中さん
09/02/15 22:48:12 5Et+BRIj
>>109
#define すれば良いのでは?
113:774ワット発電中さん
09/02/15 23:35:53 1fntks2s
>>109
使用期限終わった後のプログラムサイズの話?それならVMWare
114:109
09/02/15 23:56:49 FuaJpjRv
>112 #define すれば良いのでは?
なんらかの、これはアセンブリ言語ですというのをコンパイラに知らせる
キーワードが必要ないのですか?
115:774ワット発電中さん
09/02/16 03:05:22 NfwOEKg3
コンパイラに知らせるより、
レジストリにHEWのインストール情報をきれいさっぱり忘れさせる方がいいだろが。
116:774ワット発電中さん
09/02/16 03:25:15 RHP47w3p
いっそ、HEWやめて、GCCにするとか
117:774ワット発電中さん
09/02/16 10:26:24 4W1t1rM9
>115
どこ消せばいいか分かるの?
118:774ワット発電中さん
09/02/16 10:46:29 hLGDTul8
>>117
>きれいさっぱり
↑↑↑
いいかげん気付よ
119:774ワット発電中さん
09/02/16 11:09:43 SMPvub/d
新しいPC買ってきてそれにインスコすれば全て丸く収まる
120:774ワット発電中さん
09/02/16 11:16:11 /EvwZBCj
だ・か・ら
VMWareがあるんじゃねーかよ。
あんまり書くとチョサッケン侵害幇助とかいわれちゃかなわんからな。
121:774ワット発電中さん
09/02/18 17:35:06 P3aU9Du8
3694Fに増設できるメモリってEEPROMより高速なものでありますか?
122:774ワット発電中さん
09/02/18 18:48:56 E7CrAJSP
ポートが余ってるなら、パラレルタイプのもの使う?
123:774ワット発電中さん
09/02/20 18:32:21 mVlpDFUZ
秋月電子製AKI-H8/3052FのLCDに文字を印字したいのですが、うまくいきません。
サンプルソフトでは表示できるので、ハード面に問題はないと思います。
どこに問題があるのでしょう?
unsigned char *lcd=(unsigned char *)0xffffc6, *tcr0=(unsigned char *)0xffff64, *tstr=(unsigned char *)0xffff60, *tsr0=(unsigned char *)0xffff67;
void time(int);
void printlcd(char*);
void lcdinput(char,int,int);
void lcdsetup(void);
void main(void);
void main(void)
{
lcdsetup();
printlcd("hell world");
}
void printlcd(char* word)
{
int count=0, flag=0, count2=1;
while((*word)!='\0')
{
count++;
word++;
}
word-=count;
if(count>=17)
{
while(count2<=16)
{
lcdinput(*word,1,0);
count--;
word++;
count2++;
}
lcdinput(0xc0,0,0);
}
while(count>=1&&count<=16)
{
lcdinput(*word,1,0);
count--;
word++;
}
}
124:774ワット発電中さん
09/02/20 18:32:54 mVlpDFUZ
void lcdinput(char character, int rs, int setup)
{
char sub=character;
unsigned char control;
sub=character>>4;
if(rs==1)
{
control=0x30;
*lcd=0x10;
*lcd=0x30;
}
else
{
control=0x20;
*lcd=0x20;
}
if(setup==1)
{
goto SETUP2;
}
*lcd=(sub|control);
time(4);
*lcd=((sub|control)&0xdf);
time(4);
*lcd=(sub|control);
SETUP2:;
*lcd=((character&0x0f)|control);
time(4);
*lcd=(((character&0x0f)|control)&0xdf);
time(4);
}
125:774ワット発電中さん
09/02/20 18:33:21 mVlpDFUZ
void lcdsetup(void)
{
time(15);
lcdinput(0x23,0,1);
time(4);
lcdinput(0x23,0,1);
time(4);
lcdinput(0x23,0,1);
time(4);
lcdinput(0x22,0,1);
time(4);
lcdinput(0x28,0,0);
time(4);
lcdinput(0x0e,0,0);
time(4);
lcdinput(0x06,0,0);
time(4);
lcdinput(0x01,0,0);
time(4);
}
void time(int value)
{
int count=0;
*tcr0=(unsigned char)0x00;
*tstr=(unsigned char)0x01;
while(value>count)
{
if(*tsr0==(unsigned char)0x04)
{
*tsr0=(unsigned char)0x00;
count+=2;
}
}
*tstr=(unsigned char)0x00;
}
126:774ワット発電中さん
09/02/20 23:40:26 kNk2boab
こんなに長いのを読めってか?
それなら読みやすいように、
{ の位置を()の後ろにして、1文を短くしてください。
例) if(・・・・・){
} else {
}
インデントを付けてください。2chではタブが使えませんので、
タブは全角スペース2文字に置き換えると、
if(rs==1){
control=0x30;
*lcd=0x10;
*lcd=0x30;
} else {
control=0x20;
*lcd=0x20;
}
という感じにインデントが付けられます。
127:774ワット発電中さん
09/02/21 02:54:12 FVWIOvIG
unsigned char *lcd=(unsigned char *)0xffffc6,
*tcr0=(unsigned char *)0xffff64,
*tstr=(unsigned char *)0xffff60,
*tsr0=(unsigned char *)0xffff67;
void time(int);
void printlcd(char*);
void lcdinput(char,int,int);
void lcdsetup(void);
void main(void);
void main(void){
lcdsetup();
printlcd("hell world");
}
void printlcd(char* word){
int count=0,
flag=0,
count2=1;
while((*word)!='\0'){ count++; word++; }
word -= count;
if(count>=17){
while(count2<=16){ lcdinput(*word,1,0); count--; word++; count2++; }
lcdinput(0xc0,0,0);
}
while(count>=1&&count<=16){ lcdinput(*word,1,0); count--; word++; }
}
void lcdinput(char character, int rs, int setup){
char sub=character;
unsigned char control;
sub=character>>4;
if(rs==1){ control=0x30; *lcd=0x10; *lcd=0x30; }
else{ control=0x20; *lcd=0x20; }
if(setup==1){ goto SETUP2; }
*lcd=(sub|control ); time(4);
*lcd=((sub|control)&0xdf); time(4);
*lcd=(sub|control );
SETUP2:;
*lcd=((character&0x0f)|control); time(4);
*lcd=(((character&0x0f)|control)&0xdf); time(4);
}
128:774ワット発電中さん
09/02/21 02:54:47 FVWIOvIG
void lcdsetup(void){
time(15);
lcdinput(0x23,0,1); time(4);
lcdinput(0x23,0,1); time(4);
lcdinput(0x23,0,1); time(4);
lcdinput(0x22,0,1); time(4);
lcdinput(0x28,0,0); time(4);
lcdinput(0x0e,0,0); time(4);
lcdinput(0x06,0,0); time(4);
lcdinput(0x01,0,0); time(4);
}
void time(int value){
int count=0;
*tcr0=(unsigned char)0x00;
*tstr=(unsigned char)0x01;
while(value>count){
if(*tsr0==(unsigned char)0x04){ *tsr0=(unsigned char)0x00; count+=2; }
}
*tstr=(unsigned char)0x00;
}
129:774ワット発電中さん
09/02/21 03:25:46 J2rEtYbu
読む気もないんだけど、スタートアップルーチンに間違いはないの?
130:774ワット発電中さん
09/02/21 19:02:07 krPYcSko
いいね
131:774ワット発電中さん
09/02/21 19:02:56 krPYcSko
すげえええええええええええええええええ
132:774ワット発電中さん
09/02/21 19:03:43 krPYcSko
だよね
133:774ワット発電中さん
09/02/21 23:39:48 I0gFxBBC
>>126
なるほど。ご指摘ありがとうございます。
>>127&128
わざわざ、書き換えていただきありがとうございました。
>>129
スタートアップルーチンはサンプルをそのまま流用していますし、念のためLED点灯プログラムをそのスタートアップルーチンでリンクし実行してみましたが問題なく実行できました。
134:774ワット発電中さん
09/02/22 00:26:34 tVGy5Scn
*lcdに書き込んだ後のウェイトがないところがあるね。
135:774ワット発電中さん
09/02/25 00:07:40 4iB54DXe
質問です。
H8もR8Cも開発環境はHEWでできるのでしょうか?
HEWの言語はCであるというのはわかりますが、ポートの操作とかがまったく
わからない状態です。 プログラムの書き方がある、初心者サイトみたいな
ところがあればリンクいただけないですか?
136:774ワット発電中さん
09/02/25 01:38:28 RC80EPUV
データシートがあるだろ。
137:774ワット発電中さん
09/02/25 03:21:18 LVUgUvqO
URLリンク(monoist.atmarkit.co.jp)
138:774ワット発電中さん
09/02/25 18:30:13 GTZICeCw
>>135
サイトを良く見てみ。サンプルプログラムがゴロゴロしてる。
139:135
09/02/25 18:33:41 bhB5OFLd
>>138
いやだね
140:774ワット発電中さん
09/02/26 03:53:11 JJNjLY9H
>>135
本屋行って良く見てみ。関連本がゴロゴロしてる。
141:774ワット発電中さん
09/02/26 10:28:29 RzDNR+//
>>140
いやだね
142:774ワット発電中さん
09/02/26 21:38:06 m4IOohl0
M16CとH8のどちらを使おうか迷った場合ってどのように判断するのでしょうか?
また、それぞれの利点って何になりますか?
143:774ワット発電中さん
09/02/26 21:58:52 tZm3l9Wi
>>142
使いたい機能・性能を満たしていて安い方を選べば。
144:774ワット発電中さん
09/02/26 23:54:21 pD6M0o4H
137,138,140さん 回答ありがとうございました。
調べてみます。
145:774ワット発電中さん
09/02/27 20:00:15 hROeqF2p
M16C/62Pを今仕事で使ってるんだけど、アーキテクチャが古いと思う
汎用レジスタが16bit×6本で少ない、アセンブラで書くわけじゃないんだけど、
C言語でもいまどきポインタのデフォルトサイズが16bitになってる
M16Cのメリットは…ノイズに強いらしいという都市伝説がある。
あと、R8C/Tinyは手っ取り早く使うにはPICより楽
個人レベルで使うならH8の方が書籍が多いし秋月で買えるから良いと思う。
迷ってるならH8の方が無難。
周辺機能もあまり変わらないし。
146:774ワット発電中さん
09/02/27 23:53:48 VA0U2atb
個人レベルなら M16Cの方を自分はおすすめするな。
アーキテクチャについては、 >>145 のいうとおりなんだが、
H8の方が遅くてメモリ効率が悪い。
オークス電子のoaks-mini がおすすめ。完成品じゃないけど、
組み立てさえすれば、後は、RS232Cケーブルさえ用意すればOK。
結構まともなデバッガも使える。
H8は動かすまでが大変で、まともなデバッガのない環境も多い。
R8Cの方が書籍が多いから、手に入るんならR8Cの方が
いいと思うが、キットで入手しやすいのがあったかな。
147:774ワット発電中さん
09/02/28 11:07:31 kyyYeEfg
久々にH8に戻ってきたんだけど、いまHEWって
- kpitgnutoolsのHEWv4
- ルネ純正HEWv6評価版(制限付き)
の2つがあるよね。みんなどっち使ってるの?それとも
エディタ+gccでやっててHEWなんて使ってねーよって感じ?
148:774ワット発電中さん
09/03/01 11:35:02 6DCnfPPc
KPITのHewじゃねーだろが。
Hewはあくまでもルネサスツール
Hewの設定環境を引き継ぐだけだろ。
コンパイラはあくまでもgcc
そしてgccは糞ってことは既出
149:774ワット発電中さん
09/03/01 15:31:33 LNpkvfsY
>>145
>M16Cのメリットは…ノイズに強いらしいという都市伝説がある。
都市伝説じゃないよ。旧日立(小平)の人が認めてたから。
150:774ワット発電中さん
09/03/01 16:26:38 IvokOY7j
小平?
武蔵じゃなくて?
151:774ワット発電中さん
09/03/01 17:25:07 uBUtOKeH
>>150
小平と武蔵は同義だろ
152:774ワット発電中さん
09/03/01 19:02:21 Yz8xmLoK
gcc使って、動かせる人って少ないからだろ?
153:774ワット発電中さん
09/03/03 16:01:35 InvkqxFI
>>148
私も最初は驚きましたが、KPITからダウンロードしてインストールするとHEWがインストールされて、ツールチェーンに
gccが登録されています。
154:774ワット発電中さん
09/03/03 16:07:59 InvkqxFI
>>145
ポインタが16bitだとなにが不便なの?
M16CはR8Cとバイナリ互換だし、R8Cはロードマップ上に
残っているので、R8 > M16C > H8 だと思うけど
155:774ワット発電中さん
09/03/03 17:38:06 DfM4RNfi
H8は32bitレジスタ、アドレス空間も(アドバンスモードで)16MBで、
昔の68000みたいに実質32bitCPUっぽく使えることを言ってるのでは。
gccでもそういう風に使うだろうし、MESみたいなOSを載せる余裕もある。
156:774ワット発電中さん
09/03/06 14:41:26 ZPJPHPnV
>>154
16bitだと64kBしか使えないでしょ。当り前だけど
157:774ワット発電中さん
09/03/06 15:58:46 kUveAwG2
組み込みで 64KB も使えて何が不満なんだ。
158:774ワット発電中さん
09/03/06 16:09:12 ThuFu7Or
OS乗せてSDカード対応させてとかやりたいときもあるんだ
159:774ワット発電中さん
09/03/06 17:17:32 3sNp8aoV
>>158
SHでも使ってろ
160:774ワット発電中さん
09/03/06 20:59:55 1pe5j3ty
m16Cのアドレス空間は1Mバイト。 16ビットのアドレッシングしか
できないわけじゃない。 64kバイト境界で near と far に分けてる。
m16Cの中には、内部ROMを512Kもつモデルだってある。
C言語でプログラムする場合、あまり意識する必要はないんだけど、
ROMデータを扱うとき、たとえば定義してある文字列を扱うとのに
はまりやすい、と思う。
161:774ワット発電中さん
09/03/06 23:29:20 SKjArrWK
HEWでH8-3664使っとります。
別のファイルにある関数呼ぶときに、引数がうまく渡せなかったんだけど
リストファイル見たら、飛び先の関数で使わないE0に引数の値が入ってた\(^o^)/
メインと同じファイルに入れたらR1Lに入れてくれるようになったんだけど、
これってバグっすか?
162:774ワット発電中さん
09/03/07 01:18:18 b9pzaxip
>>161
おまいのコードがな。
呼ぶ方にプロトタイプ宣言入れれ。
入ってないとintと仮定されるので、charで受け取れねえ。
163:774ワット発電中さん
09/03/07 02:16:30 wBxqoeKs
>>162
さすがだね。
なるほど 勉強になりましたよん。
164:774ワット発電中さん
09/03/07 09:49:08 uhndeTmn
>>162
なるほど。
呼ぶ方に
extern void hoge();
入れてもダメで
extern void hoge(int*);
って感じで型を入れててやらないとうまくいかなかったっす。
この場合、
hoge("abcde");
って感じで呼び出すと
C1016 (W) Argument mismatch
って出るんですが一回、定数に置き換えてそのポインタを渡さないとダメなんでしょうか?
165:774ワット発電中さん
09/03/07 09:54:48 gmMNnszk
>>164
はじめてのCでも読み直して来い
166:774ワット発電中さん
09/03/08 13:57:52 CwmoHYRV
>>164
自分の無知を棚に上げて、鬼の首を取ったかのように
いかにもアドバイスが悪くて苦労しました、みたいなレスすんなボケ。
167:774ワット発電中さん
09/03/08 20:53:07 5j4s4J4N
何を偉そうに
168:774ワット発電中さん
09/03/09 18:07:52 bVTNUgJu
>>164
・extern要らない
・別ファイルの関数の実体の引数と比べて見て違わない?
・文字列入れるなら"int *"じゃなくて"char *"にするべきでは?
169:774ワット発電中さん
09/03/09 19:51:50 5cZqpFar
>>164
だからこのスレで一般的なCのこと聞くのヤメレ。
170:774ワット発電中さん
09/03/10 10:00:37 nUUNYPFq
すいませんねえ
糞どもが調子に乗ってしまって
171:774ワット発電中さん
09/03/10 14:06:19 7/vUwDdo
>>156
使いたければ far を使えばいいだけの話。
far と書くと移植性などで使いたくないとかいう理由?
172:774ワット発電中さん
09/03/10 23:09:50 AUMyaxiH
そういや石田晴久先生が亡くなったそうだな。
K&R読んだ奴は祈っとけナムナム
173:774ワット発電中さん
09/03/23 08:57:50 0PJecAfX
>>172
K&R原文で読んだ人には関係ない話
174:774ワット発電中さん
09/03/25 23:48:12 rYiFpksr
URLリンク(japan.renesas.com)
とりあえずマニュアルでも読んでみますかねえ。
175:774ワット発電中さん
09/03/26 01:39:10 DnTZ2D/a
日立 万歳!
176:774ワット発電中さん
09/03/26 05:16:02 LVywnPxc
一通り眺めた。
CPUはR32をH風にした感じか?
周辺は完全にH8Sだな。
HなCPUをC言語で使ってる人はそんなに苦労しなくても移行できそう。
177:774ワット発電中さん
09/03/26 20:17:49 9zIgJ4zg
このスレの新参者でございます。
H8/3052 と HEW で天体望遠鏡の方向制御をしたいと思っています。
質問があります。
・浮動小数点演算は出来ますか?(処理時間が大きくてもOKです。)
・sinθ、cosθ、tanθ の演算は出来ますか?
以上、よろしく御願いいたします。
178:774ワット発電中さん
09/03/26 20:50:52 h+f5Jvx+
URLリンク(www.binzume.net)
179:774ワット発電中さん
09/03/26 20:54:38 9zIgJ4zg
>>178
あ、やっぱりHEWで浮動小数点はサポート外ですか?
180:初心者
09/03/26 20:55:11 UMjkH5JW
質問です リチウム電池を0.5V以下まで早くするにわ、どのようにするのが良いのでしょうか?
良い方法が、あれば教えて下さい、お願いします。
181:774ワット発電中さん
09/03/26 21:00:11 9zIgJ4zg
>>180
ついでに回答します。
リチウム電池で0.5Vは過放電です。
過放電したリチウム電池を充電すると熱暴走(発煙、発火)の危険性があります。
リチウム電池は3.0V以上で放電終止するのが一般的です。
以上、スレ違いのような気がしますが。
182:774ワット発電中さん
09/03/26 21:04:49 9zIgJ4zg
もう一度質問させて下さい。
HEWを使うという前提で
浮動小数点演算、sinθ、cosθ、tanθ の演算が可能なSuperHは
どのSH??からでしょうか?
よろしく御回答をお願い致します。
183:774ワット発電中さん
09/03/26 21:04:55 kT2ideuC
>>179
ライブラリはあるから>>178が紹介しているようなことをしなくてもできるよ
まー、速度は遅くなるし、コードはでかくなるしで場合によっては使えないかもしれないけどね
184:774ワット発電中さん
09/03/26 21:09:24 9zIgJ4zg
>>183
H8用の浮動小数点ライブラリがあるですか!
一度トライしてみます。
ありがとうございました♪♪
185:774ワット発電中さん
09/03/26 23:39:53 MxYbC48k
H8(HEW)のfloat演算はリアルタイム制御では使いもんにならんが、遅くていいのならフツーに使える。
<mathf.h>をインクルードすれば三角関数ライブラリもおk。
186:774ワット発電中さん
09/03/27 03:52:08 NNJrHomi
わーい♪ うれしいな♪
187:774ワット発電中さん
09/03/27 09:26:42 BJYBq/aU
俺なら 78K か V850 を使う。
188:774ワット発電中さん
09/03/30 02:48:43 fXmztmQ1
いくら何でもこれから製品化するのに90nプロセスはひどすぎるだろ
せめてリーク電流対策した65nで低消費電流路線狙うべき
189:774ワット発電中さん
09/03/30 05:23:15 ldxIz3dv
内蔵flashが作れないとか。
190:774ワット発電中さん
09/03/30 09:59:07 miOOSI+S
結局H8はディスコンにするのか?
RX上でH8バイナリが動くとかはないよな?
191:774ワット発電中さん
09/03/30 15:01:23 9HXdFsMo
SH7144のマニュアルで調歩同期式の最高値がPφ=24MHzのとき
750000bpsなのですが、
実際には57600bpsぐらいまでしか使えません。
言語はC言語で書いていて処理に時間がかかってしまい、
仕方がないことなのでしょうか?それとも別に原因があるの
でしょうか?
192:774ワット発電中さん
09/03/30 17:22:58 X8o2uZ4V
受信エラーが出てるのでは?
193:774ワット発電中さん
09/03/30 17:49:51 rZHYx4U6
>>191
割込みと受信バッファ使えばC言語でも115200bpsも楽勝
ポーリングで受信のたんびにデータ処理をしているとそんなものかも知れない。
194:774ワット発電中さん
09/03/31 00:07:31 vTJzKaQ2
>>191
受信ルーチン全部アセンブラで書け。
無駄なレジスタ保存はするな。
パイプラインストールしないように考えてコード書け。
SH7144ならソフトだけでコンポジットビデオ信号作れるほどのパワーがある。
SCI使ってるなら57600Bps程度の通信などCPU能力の1%も消費しないはず。
195:774ワット発電中さん
09/03/31 02:17:50 il0YA7zg
7144はそうでも吉田基板は16x2のLCD制御するのがやっと
196:774ワット発電中さん
09/03/31 09:44:23 IdtDdOM1
>>191
シリアルラインに遅いトランシーバやフォトカプラ使ってない?
197:774ワット発電中さん
09/03/31 11:31:15 +1kFnWyy
>>191
楽勝ということはやっぱプログラムが悪そうな予感ですかね。
受信割り込み処理はリングバッファに格納してるだけです。
以下ソース
やっぱ遅いでしょうか?
char dt;
struct IORegs *r;
struct RingBuffer *rx_p;
r = ®[ch]; /* レジスタアクセス用ポインタ設定 */
rx_p = &rx[ch];
dt = INPORTB( r->rdr ); /* データの読込 */
RESBITB(r->ssr, 0x78); /* RDRFクリア */
if ( rx_p->count >= COM_BUF_SIZE ) /* オーバーランエラー */
return;
rx_p->buffer[rx_p->save++] = dt; /* バッファ格納 */
if ( rx_p->save >= COM_BUF_SIZE ) /* リングバッファ構築 */
rx_p->save = 0;
getCount( rx_p ); /* データ数算出 */
>>196
トランシーバはADM3202です。100Kぐらいなら余裕のはず。
198:774ワット発電中さん
09/03/31 12:22:38 cgLyaue0
1回の割込発生につき1バイトしか読みださないの?
199:774ワット発電中さん
09/03/31 12:47:00 VkW8/65X
>>197
getCount 関数は何をやってる(遅い処理やってないか)?
ぐらいかな、このリストで思うのは。count とかがどこで更新されるのか
わからんので、ほかはなんとも。
>>198
読み出す前に次のデータがきてしまうとオーバーランエラーじゃない?
>>197 のソフト的なやつじゃなくて、受信ハードの方の。
200:193
09/03/31 13:14:37 /sA2t1yt
>>197
ソースを見た限りでは余裕だと思う
受信後のフラグのリセットなどが影響しているのかも知れませんね
オシロがあってボードにON-OFF出来るピンがあれば割り込み処理の間だけ
ピンをONしてオシロで観測すると良いですよ。
ちなみに下はSH7144ボードで使っていた割込受信ルーチン
#define rssts() (SSR_1 & SSR_RDRF)
#define reset_rs() (SSR_1=(SSR_1 & ~(SSR_RDRF | SSR_ORER | SSR_FER | SSR_PER)))
#define rsdata() RDR_1
void int_rxi(void)
{
if(rssts()){
if(rx_ct < RXD_BUFFSIZE){
rxbuf[rx_wp] = rsdata();
rx_wp = (rx_wp+1) & (RXD_BUFFSIZE-1);
rx_ct++;
}
}
reset_rs();
}
201:774ワット発電中さん
09/03/31 13:20:02 +1kFnWyy
>>198
1回の割り込み処理で1バイト読み出しです。
>>199
getcountの中身はリングバッファに溜まったデータ数を
更新しているだけで、countの更新はこの関数で行われています。
static void getCount( volatile struct RingBuffer *b )
{
if ( b->save >= b->load )
b->count = b->save - b->load;
else
b->count = b->save + COM_BUF_SIZE - b->load;
}
なので大した処理ではありません。
202:774ワット発電中さん
09/03/31 15:29:51 cgLyaue0
リングバッファに使ってる領域はキャッシュ有効or無効?
203:774ワット発電中さん
09/03/31 16:09:03 +1kFnWyy
>>200
受信割り込みの入り口と出口に仕込んでオシロで見てみました。
正常に通信できる57600とダメな115200ともに2us程度でした。
>>202
特に意識してRAMを使っていないのですが、どうやって確認すればい
いでしょうか?
204:774ワット発電中さん
09/03/31 16:30:10 aUEaQfTy
誤差がでかすぎるのでは?
205:774ワット発電中さん
09/03/31 16:55:10 +1kFnWyy
>>204
URLリンク(documentation.renesas.com)
391ページの計算式でPφ24Mで115200のときN=6で誤差が1%程度です。
ちょっとソースさらします。
URLリンク(blog-imgs-24.fc2.com)
115200にするとrsPutchで1バイトづつ送信してもPCには正しく
表示されませんでした。
206:200
09/03/31 16:57:09 /sA2t1yt
>>203
115200bpsでデータ受信間隔はおよそ80uSだから
処理速度の点に関してはOKですね。
207:774ワット発電中さん
09/03/31 17:17:11 OnWHMAZg
>>205
相手がパソコンなら、パソコンの設定が正しくないのかも?。
一度、ループバックで確認してみたら。
オシロがあるんなら、信号見れば正しいボーレートかどうかわかるはず。
208:774ワット発電中さん
09/03/31 17:18:54 /sA2t1yt
>>205
誤差は7%じゃない?
だとするとちょっと厳しそうな気がする。
209:774ワット発電中さん
09/03/31 17:57:04 +1kFnWyy
>>205
パソコンの方も疑ってみようと思います。
明日確認してみます。
>>208
約7%ですね計算間違ってました。
誤差ってのがいまいちピンときませんが、7%っていうのは相当なんで
しょうか?
210:774ワット発電中さん
09/03/31 18:07:56 OnWHMAZg
>>209
調歩同期で7%誤差では、まず通信できない。
フレーミングエラーとか出てるはず。
211:774ワット発電中さん
09/03/31 18:15:07 +1kFnWyy
>>210
どうやらそのようですね。
確かにPC側のソフトにもフレーミングエラーと出ていました。
ググったら下記でてきました。
URLリンク(misumi.sakura.ne.jp)
まさに同じふろくボードを使っています。
できないことがはっきりわかってすごくすっきりしました。
皆様ありがとうございました。
212:774ワット発電中さん
09/03/31 18:37:14 aUEaQfTy
7.3728MHz×4
213:774ワット発電中さん
09/04/01 11:28:14 zQ+RN99T
内部オシレータでシリアル通信するのは避けた方が賢明?
データシートの発振周波数幅がめちゃくちゃ大きいけど、
実力値的にはどうでしょうか。
214:774ワット発電中さん
09/04/04 09:49:14 7Cyg8thD
なぜ計算してみようとしないのだろう・・・・
215:774ワット発電中さん
09/04/05 15:33:50 Dsi8THDy
>>213
データシート上は使えないことになるから、
よほど確かな根拠がない限り普通は使わないな。
>>214
実力値は計算じゃわからんだろ。
216:774ワット発電中さん
09/04/05 15:57:11 fa407Kif
SH7144だと動作周波数は4MHzから50MHzと書いてある。
217:774ワット発電中さん
09/04/10 17:15:14 f0tTnPhi
は?
218:774ワット発電中さん
09/04/11 19:56:51 dLKZRVAj
H8 3664のI2Cって不具合あるみたいですけど、
開始条件発行後にIRICが一向に立たないことと関係あるんでしょうか?
219:774ワット発電中さん
09/04/11 22:27:32 Cb09j0qe
>>218
まだ日立時代にその件でクレーム付けた。
メール返信で不具合を認めた上で「3694のご採用を強くご推奨します」だとよ。
I2C使うんだったら3664は止めとけ。
220:774ワット発電中さん
09/04/11 22:54:50 hLMdoaaW
僕、柚木正章です。
221:774ワット発電中さん
09/04/11 23:19:19 dLKZRVAj
>>219
どうもです。
EEPROM書き込むだけなんで、3664でやっていこうかと思います。
222:774ワット発電中さん
09/04/14 03:07:04 4VvyV4Dp
教えてください。
223:774ワット発電中さん
09/04/14 14:07:19 wXOLWlXF
>>222
何を?
224:774ワット発電中さん
09/04/14 20:14:50 ef7tEpD+
>>222は さだまさし。
「海は死にますか 山は死にますか」
225:774ワット発電中さん
09/04/14 22:14:10 PKcZEid2
俺は、オタッキーデブヲタ!柚木正章です。
IBM-PC互換機は重いらしい。
226:柚木正章
09/04/14 22:16:41 PKcZEid2
こんにちわ!
デブヲタの柚木正章です。
IBM-PC互換機を持ってます。
重いで
227:774ワット発電中さん
09/04/15 23:41:13 WUocuj97
こんばんわ
包茎ちんぽの柚木正章です。
皮が剥けない、どうすればいいの?
228:774ワット発電中さん
09/04/16 10:25:37 f0yFUltE
はあ?
URLリンク(headlines.yahoo.co.jp)
229:774ワット発電中さん
09/04/16 11:21:03 N4M+6CF8
MIPS/ARM/SHが同じメーカーから出てくるのか…
ややこしいのう。
230:774ワット発電中さん
09/04/16 11:30:16 f0yFUltE
>半導体国内2位のルネサステクノロジ(東京)と同3位のNECエレクトロニクスが、
>来年4月をめどに経営統合する方向で最終調整に入ったことが16日、明らかになった。
>ルネサステクノロジとNECエレクトロニクスが経営統合する方向で最終交渉に入ったという一部報道に対し、
>NECエレクトロニクスは4月16日、「報道されたような事業再編について当社として決定した事実はない」
>というコメントを発表した。
どっちやねん。
231:774ワット発電中さん
09/04/16 17:14:27 cqbfH7Op
>>230
恐らく上だろな
会社統合後はCPUラインナップ統廃合するんだろな
232:774ワット発電中さん
09/04/16 17:40:55 ofOeWXhx
頼むから MINICUBE2 対応は継続してくれよ。
233:774ワット発電中さん
09/04/16 21:28:17 tmfvL1mT
>>230
「最終調整に入ったけど、何も決定していない。」と言うだけのこと。
と言うか、この手の話の広報のコメントは大抵これと同じだろ。
234:774ワット発電中さん
09/04/17 02:56:22 wnWvuzoV
>>231
V850Tinyとか。
減ることはないだろうな。
235:774ワット発電中さん
09/04/17 09:14:20 JATosoE+
日立と三菱のとき、開発環境やツールの統合であれほど大変だったのに
さらにNECも統一するわけ?
前回に懲りて、今回は無理してツールの統合はやらないんじゃないかと。
236:774ワット発電中さん
09/04/17 13:01:21 A3muJfut
>>235
それじゃ合併した意味がないからツール統合するだろう
それより問題はNEC本体に残ってる半導体畑の人間を
道連れにするかどうかだな
237:774ワット発電中さん
09/04/17 14:17:36 D+w7yoqo
>>236
NECのシリーズは次シリーズからHEWが使えるようにする・・のかなぁ・・?
統合の実績からいって、NECのほうに統合するのはあり得ないと思う
238:774ワット発電中さん
09/04/17 14:34:15 2mtlubIX
別々のままでいいんじゃないかねえ。
それぞれのユーザーも慣れてるだろうし、デメリットしかないように思うけど。
無償版の利用制限はルネに合わせて欲しい。w
239:774ワット発電中さん
09/04/17 15:05:46 D+w7yoqo
>>238
三菱日立がやっと統合できたんだから、10年かかってもおかしくないよね。
というか、RXはこのままで、次シリーズで統合ということかもしれないけど。
ルネサス(日立三菱+NEC)とエルピーダ(NEC三菱+日立)も一緒になりそうだけど。
240:774ワット発電中さん
09/04/17 22:13:43 tMJlTuOx
CPU・半導体メーカーの合従連衡の工程表
2010年 ルネサスとNECエレクトロニクスが合併
2020年 富士通マイクロエレクトロニクスと合併
2030年 テキサス・インスツルメンツ (米)と合併
2040年 東芝セミコンダクターと合併
2050年 フリースケール・セミコンダクタ(米)と合併
2060年 ARM Ltd(英)と合併
2070年 サン・マイクロシステムズ(米)と合併
2080年 インフィニオン(独)と合併
2090年 AMD(米)と合併
2100年 インテル(米)と合併
この年、HEWはバージョン100となり、プログラム規模は1テラ・バイトを超えた。
241:774ワット発電中さん
09/04/18 00:46:13 ncEZdkvX
>>240
マジレスすると現在の組み込み系での平均メモリ搭載量が64KB Flash/2KB SRAMと
控え目に見たとしても、2100年ならムーアの法則により35184372088832倍になる。
よって、Flashなら68TB搭載が標準になる。普通搭載Flashの1/64以下しか使わない
なんてヘボな設計・チップ選択はしないので、2100年には50TBを超えるあたりを
うかがってるはず。
ちなみにWindows2100はその頃には最低動作環境2EB RAMになってるはず。
242:774ワット発電中さん
09/04/18 00:48:10 ncEZdkvX
あ、間違えた。 2^((2100 - 2009) / 3) = 1073741824倍ね。
そこから先の数字は正しい計算の方の数使ってるからそのまま。
243:774ワット発電中さん
09/04/18 01:11:23 xm2na69V
いや、多少の間違いはどうでもいいレベルだろ
244:774ワット発電中さん
09/04/18 02:07:38 VKAyhQPy
/)
///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
245:774ワット発電中さん
09/04/18 02:09:44 Rl2t3s+u
動作速度はどうなるの?
246:774ワット発電中さん
09/04/18 09:05:28 cZSeRksD
>>241
マヂレスすると、メモリやCPUのロジック素子を構成する原子の大きさや
半導体中での電子の移動速度は決まっているし、ピン数や歩留まりなど
から、実用的なダイやパッケージのサイズも決まっているので、過去の
ムーアの法則が、将来も従来どおり適用できるわけがない。
現に、CPUの動作クロックの上限はここ数年で既に頭打ち、メモリやペリフェ
ラルを接続する外部バスに至ってはもう10年近く進歩がない。
大量のメモリを積んだとしても、メモリ有効に利用するため、例えば8GBの
メモリ全てにHDD等の外部記憶からデータやプログラムをロードするのに、
どれくらいの時間がかかるか単純計算してみるといい。
あるいは、ライトバックキャッシュが有効な場合、電源断が起こる危険性や
シャットダウンにかかる時間を想像してみるといい。
247:774ワット発電中さん
09/04/18 09:08:07 76h81gqi
この人んhkで見たことある
248:774ワット発電中さん
09/04/19 00:02:21 /s/32iRP
試用版HEWを新しいのにインストールしなおしたら同じソースコードでも微妙に動作が変わって
驚きだ・・
SH7045F使っていてMTUのコンペアマッチで割り込みを起こすようにしているのだけど
以前はMTUの値を読んで0になっているときには割り込みが必ず終了していたのに
今のだと割り込み関数の実行前の場合がある。
まー、もっと腕があれば詳しく調べられるだろうが不思議な現象だ。
249:774ワット発電中さん
09/04/19 09:20:08 Ok3/LtcC
/)
///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
250:774ワット発電中さん
09/04/19 12:48:22 6oiNQjAb
この人、顔はおもいっきりテキトーなくせに手は妙にリアルで気持ち悪い
251:774ワット発電中さん
09/04/19 13:16:49 /ADkdlbR
いやいや コイツ 人じゃないから
252:774ワット発電中さん
09/04/19 13:50:08 yvHlVxc5
きっと中の人などいる
253:774ワット発電中さん
09/04/19 14:23:03 76rvb2r/
>>246
技術者「今度ばかりは理論的限界です。無理っす!」
経営者「私の在任中は、ムーアの法則を維持します」 このせめぎ合い。
ぶっちゃけ、物理的に無理とされた処理能力でも、IBMの1000コア!CPUで無理が通ってしまった。
今後はCPUの内部処理で、大量のコアを統合するソフト面で競争にならんかな。
ところで、手(ポート)だけリアルで顔(CPU)がゆるい・・・・H8そのものでは?
254:774ワット発電中さん
09/04/19 16:56:12 mDiqYefx
>>246
コア数競争が一段落したら、次はロード速度を向上するために
バス幅競争になって4096bitバスとかになる。そしたらもうチップ内でも
パラレルではやってられんてことになって、高速シリアルバスが登場して
そしたら・・・
無線とか光コネクトのチップとかでてこないかな。ルネとかNEC(もう同じ会社か)が
無線デバッグデモってたけど、もはや半田付けとかの概念が消滅して、電源だけ
配線したらモジュール間がハイパーキューブ接続されるの。
255:774ワット発電中さん
09/04/20 07:29:03 D3UEe//r
>>254
> バス幅競争になって4096bitバスとかになる。
今やCPUより集積度の高いGPUでも内部256bitとかだろ。バス幅を広げると
ビット間の遅延時間差のばらつきが大きくなるし、チップ上で配線領域が
占める面積も増える。配線間のクロストークや電源ノイズも増えるだろう。
> パラレルではやってられんてことになって、高速シリアルバスが登場
パラレルをスループット維持したまま、シリアルに変換するとなると、例え
ば32bit幅をシリアルで送るには、クロックレートが32倍以上でなければなら
んわけだが?
> 半田付けとかの概念が消滅して、電源だけ 配線したらモジュール間が
> ハイパーキューブ接続されるの。
野良チップが流行するわけでつね。
256:774ワット発電中さん
09/04/20 15:20:19 vKHeenCE
GPUって何だよ>>255
恥ずかしい間違いだなww
CPU(中央演算装置)だぞ
情報処理2種を持ってる俺が言うんだから間違いない。
257:774ワット発電中さん
09/04/20 15:46:00 T2T0P8ku
>>256
もちつけ。
URLリンク(www.google.co.jp)
これ読んで冷や汗たらせ。w
258:774ワット発電中さん
09/04/20 16:56:18 iS9hbUHq
ちょっと待て
その書き込みは
アサヒかも
259:774ワット発電中さん
09/04/20 19:14:17 w4V3zWpl
/)
///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
260:774ワット発電中さん
09/04/20 21:02:41 dhpqXidr
オタクは、柚木正章だ
261:774ワット発電中さん
09/04/20 21:52:36 dhpqXidr
おチンチンが剥けない
オタッキー柚木正章です。
アメリカ人的考え
262:774ワット発電中さん
09/04/21 10:19:38 fXJeCzAO
「新人類」!!
「ラムちゃんだ!」
一人で日本橋行くのってオタク!!
以上、柚木正章でした。
263:774ワット発電中さん
09/04/22 19:07:42 BwEk22+/
オタクって友達いないことなんだょ
柚木正章(ゆのき まさあき)
264:774ワット発電中さん
09/04/27 17:59:51 8GHdGlUp
_,ノ‐''''''^¨¨¨⌒ ̄⌒^^''¬-、,_
._v-''¨`.,,vー─-、 .,,vー─-、 .¨'ーu_
_ノ'″ ./′ ¨┐ ./ ゙'┐ .゙'┐
,/′ ./ .ミ .i′ .) ゙\
,/′ | ● | } _●, | \
./′ ._,,、-ミ. . /¨レ .人,_ ミ
.,ノ′ ._ノ'″ \_ ._,rlト冖へy _/ ¨'‐u .゙lr
.,i′ /ー-v、.,,_ ¨^^¨´〔 〕.¨^^¨′ __.,、 ゙\. {
〕 ./′ .⌒''''' \,,,,,,ノ′ v-ー'''¨′ ゙┐ } ___________
| ノ .──ー } __,,.,、v--ー'' { .] /
| :| .__,.. .! ` .} .} < 僕 オタッキー柚木正章です
} .| .--:;:冖^ ̄ .| ¨¨¨¨¨¨゙フ¨¨′ .} } \
.| .} .\_ .} ._/ } .:|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
). .〕 .゙ミzu,_ } _,ノ┘ } /
.{ ). .,/'″ ¨゙(ァv、,_ .! ._,,,,v‐'^′ ,ノ ノ
ミ. 7, .i゙ 〔 `¨¨^^⌒ ,ノ′,/
゙). ゙li. _ノi. ノ .,r′.,ノ
\ ゙>'′^ー、、、v‐′ .,r′ /
.|/ } ./′,/
./′ ,i¨¨¨¨¨¨゙ソ冖干ア^^^^^^^^^^^| r'′
.,i′ ./¬冖'''''7′ ∨¬ーーz─-「 \
.} _ノ 厂¨丁¨¨フ .ミ、 ゙\
.〔 ./′ ゙'-、..!,,ノ'′ ゙). ゙).
{. .ノ 、、、、、、、、、、、、、、,,,,,,,,,,、., 〕 .、 {
.〕 .] .| .〕 | ゙l! .,/⌒┐
{ .| |_ ,ノ ,} レ''′ .}
〕 ). .゙\_ ,,r''′ 丿 八, _,ノ
.〕 .\_ ^''ー-vvv-ー'″ ,,ノ ] ¨'ー'''″
.:| ^'ーv.,_ _,ノ'″ }
.} ¨゙''¬ー----ー''″ ]
.} 」 .|
,r冖¬¬¬¬~----ー《、、、、、、、、、、、、、、,,,,,、.....|
r′ | .リ.
.\,,_ ._,,,vrh、、,_ ._)
¨^^'''''''^¨^^''''''¨′ ⌒^^^'''''''''''^¨¨¨⌒″
265:774ワット発電中さん
09/05/01 21:06:29 Qedp8lBO
ぼく柚木正章です。
266:774ワット発電中さん
09/05/01 22:21:16 XZ1YDDtO
「ぼくドラえもんです。」は大山のぶ代が作り出した糞キャラだぞ。
本来は君だれと聞かれて「ドラえもん。」これだよ。
267:774ワット発電中さん
09/05/03 15:40:46 LA2BBlR2
(株)髭男爵のギャグ - 「ン」設計の
超ヲタクの 柚木正章です。
268:774ワット発電中さん
09/05/03 23:55:48 CmLk/IGN
NECエレになるんだっけ
269:774ワット発電中さん
09/05/04 08:39:29 4o9EsAXj
RENECAS
270:774ワット発電中さん
09/05/04 12:17:58 MPrmHe4d
>>269
ルネカス、ワロタ!
271:774ワット発電中さん
09/05/04 13:23:59 GcX/080/
NECESASというのはどう?
ルネカスはいい感じだけど、ち○カスの仲間になりそう。
272:柚木正章
09/05/10 17:29:35 wDPYmpcR
はやく、潰れることを祈ってる。
273:774ワット発電中さん
09/05/13 15:49:54 jVbqOPHj
3664Fを使ってるのですが
動作中にフラッシュROMへ設定値等を保存することは可能でしょうか?
それとも設定値保存用にEEPROMを別途用意しないといけないのでしょうか?
274:774ワット発電中さん
09/05/13 16:18:43 4hYV+g/m
実装面積とかコストとかの問題がないなら、
EEPROM 付けとく方がいいと思う。
275:774ワット発電中さん
09/05/14 09:27:48 Bhjj8UJ5
H8-3694くらいの石を使うのですがC++でコードかくのは無謀ですか?
276:774ワット発電中さん
09/05/14 10:37:37 RbYpq0oI
納期の問題がなさそうで、コードが収まって実行スピードが十分なら、
別にいいんじゃないかと思う。
C++ は、後々資産になるクラスを残していかないとメリット薄いと思うけどね。
277:774ワット発電中さん
09/05/14 11:16:22 Bhjj8UJ5
実行速度はそこまで問われないから、コードサイズとかRAM容量がネックになるかなぁ
単にC++を長く使ってたせいかCとの境界線が曖昧になっててやりにくいってだけなんですが
278:774ワット発電中さん
09/05/14 23:16:44 OeyH6BST
>>273
書き込み中はフラッシュROMが見えなくなるとかの制限があったような?
279:774ワット発電中さん
09/05/15 01:10:29 cRsY7NJu
>>273
>>278も言っているように、フラッシュ書き込み中はフラッシュは読めない。
フラッシュをアクセスするコードはすべて内蔵RAMに置かなければいけない。
オールC言語でもできなくはないけれど、アセンブラの知識は必須。
それを簡単にこなせるような人は、そもそもここでそんな質問する必要もなく
着々と実行に移しているはず。
プログラムも乗っているフラッシュに、書き込み中に強烈なノイズが乗って
CPUにリセットがかかったような場合など、極めて例外的なケースに対しても
完璧な対処ができる自信がないなら、>>274が言うように
外付けEEPROM付けるのが吉。
280:774ワット発電中さん
09/05/15 01:34:01 u820UTRN
>>279
>書き込み中に強烈なノイズが乗って
>CPUにリセットがかかったような場合など、極めて例外的なケースに対しても
あー、あるある・・・orz
うちの設計さんがEEPROMケチりたかったのかしらないが、それでトラブル出して大問題になってたなぁ
281:774ワット発電中さん
09/05/15 11:29:17 Z3dL72+V
内蔵フラッシュって書換保障回数が極端に少ないのはどうしてなんだよ
282:774ワット発電中さん
09/05/15 11:46:56 +ARZK4YK
すべてをフラッシュメモリとして作られるデバイスとでは
製造プロセスが違うから。
…と言う話だ。
283:774ワット発電中さん
09/05/15 14:35:25 F8xliVUv
おーい、柚木正章!!!!!!
終身雇用しとるやろ!
コテコテのベタベタの日本人の考えや。
284:774ワット発電中さん
09/05/15 15:10:02 a1av+r6Z
【露天】▲川温泉その3【混浴】
スレリンク(onsen板)
277 :名無しさん@いい湯だな:2009/05/10(日) 19:50:36 ID:regnN8oD
いきなり女の子たちが大量に入って来たから驚いた。
彼女たちは近所の中学のテニス部で、毎週土曜日は練習後に入浴してるそうだ。
おまけに5分くらいしたところで、顧問の♀先生・・・25歳独身(推定)・・・が
「遅れてごめーん」と入ってきた。
で、風呂に浸かっている俺に気がつくと、にっこり笑って「旅行ですか、どちらから?」
と話しかけて(r
285:774ワット発電中さん
09/05/15 17:20:25 vlZI+Vac
>>277
C++の使い方にもよるけど、クラスやテンプレート使っても
コードサイズなんて大して増えないでしょ?数キロバイトが
問題になるような環境じゃなければ。
286:774ワット発電中さん
09/05/15 20:13:20 LeaG95gX
トラ技の付録にビンヘッドをハンダ付けしてもう2年
287:285
09/05/15 20:30:55 vlZI+Vac
あっ。3694ってROM 32K、RAM 2Kとかのやつか。それは苦しいね。
288:774ワット発電中さん
09/05/15 21:20:45 F8xliVUv
赤字の半導体部門、やめろよな。
289:774ワット発電中さん
09/05/16 02:44:14 dIZSHTkD
まずは赤字をやめよう。
290:774ワット発電中さん
09/05/17 04:51:15 lJgyHOyB
初心者ですが質問してもいいですか?
H8/300Hを使ってアセンブラの勉強してます。
なんですがプログラムカウンタの更新のところで躓きました。
PCは24bitのレジスタで、次に実行すべき命令のあるアドレスを指していると教えられました。
ここでよく、順次実行される場合は「+1」されて次の命令を指し示すと言われるのですが、
この+1⇔+2Byteされたことでどうして次の命令のアドレスに行くのかがぴんときません。
メモリ構成で、偶数の上位バイトと奇数の下位バイトにバイト単位でアドレスを割り当てているということは調べました。
また、H8/300Hはメモリの最大構成16MBなので24bitでメモリのアドレス全域を指定できるというのは分かりました。
しかし命令というのは必ず2Byteで構成されているということでしょうか?この2Byteの内訳が分かりませんでした。
PCの挙動について、
命令を実行する際にアドレスの中の何を参照して次の命令の場所へと値を更新するのか教えてください。
よろしくお願いします。
291:774ワット発電中さん
09/05/17 11:12:31 woJiMDXh
>>290
命令は2バイト、または2の倍数の大きさになる。
そんなの命令表見ればわかるだろ。
こんなところで躓くなんて、
本質的に向いていないから違う進路目指したら?
292:774ワット発電中さん
09/05/17 11:17:39 2oylZcGQ
やりたがってる奴の芽を摘むなよゴミクズ
293:774ワット発電中さん
09/05/17 12:04:43 woJiMDXh
アセンブラ勉強するなら最初に命令表見るのが普通だろ。
294:774ワット発電中さん
09/05/17 12:13:13 woJiMDXh
>PCは24bitのレジスタで、次に実行すべき命令のあるアドレスを指していると教えられました。
>ここでよく、順次実行される場合は「+1」されて次の命令を指し示すと言われるのですが、
この教え方もおかしいね。H8/300Hなら10バイト命令とかもあるのに。
もしかすると教える側の教え方がヘタなせいで
学ぶ側が混乱させられているという、気の毒な例なのかもしれない。
295:774ワット発電中さん
09/05/17 13:47:26 AoAjcp53
>>291,293
偉そうに言うな! お前も駆け出しの頃、わからなかったはずだ。
すでに知っているから、そういう言い方になるんだ。
やる気があってやってるやつを虐めるな。
296:290
09/05/17 14:34:42 lJgyHOyB
どうもありがとうございます。
プログラミングマニュアルの命令セット一覧のどこを見ればよいのかわかりませんでしたが、
おそらくインストラクションフォーマットだと思いました。
ここに命令とアドレッシングモード毎に第1バイト、第2バイト~と載っていたのでこれかと思いました。
例えば、「MOV.B #xx:8,Rd」の命令の場合、
アドレッシングモードがイミディエイトであり、インストラクションフォーマットでは第2バイト目がIMM(イミディエイト)となっています、
これは第1バイトと合わせて計2バイト使うためにこの命令は2バイトであるから、
メモリ上に偶数番地から2バイト分占有しているので、次の命令はPCに+1されたアドレスを参照する。
と考えていいんでしょうか。
同様に「MOV.L #xx:32,ERd」の場合、IMMは第3バイトから32bit=4バイト使い、
上位2バイト(命令そのものやどのレジスタであるかを表すビットパターン)と合わせて6バイト使うため、
この命令は6バイト命令であるので、PCの値には+3=されて次の命令のアドレスを示すと解釈しました。
これで合っているでしょうか。間違っていたらご指摘お願いします。
297:290
09/05/17 18:48:38 lJgyHOyB
またちょっと疑問が生まれました。
例えば2バイト命令のとき、PCの値に+1されたら次の奇数アドレスを示してしまわないんですか?
1バイト毎にアドレスが割り振られているということは、PCの値を+2しないと常に偶数番地を示せないと思ったんですが。
もしかしたら命令のバイト数分だけPCがインクリメントされるので、PCの値は2の倍数だけ動くということでしょうか。
>>296での+1と+3のところはそれぞれ+2と+6になると考えるべきでしょうか。
298:291=293=294
09/05/17 19:54:58 woJiMDXh
>>290
H8ではワードアクセスは必ず偶数番地で行われる。
PCもビット0は常に'0'になっていると考えていい。
つまり、PCが「+1される」なんてことは絶対ありえない。
あなたの書き込みを最初に見たときからすごい違和感感じていたんだけど、
なんでそんなにPCの挙動にこだわるの?
書き並べた命令が(分岐でもしない限り)順に実行されると解釈して
なんの問題もないと思うんだけど。
とりあえずPCの挙動の細かいことは棚に上げておいて、
そんなことよりもっと重要な学ぶべきことが他にあると思う。
私が>>291で「本質的に向いていないから」と書いたのも
そのPCに異常にこだわるセンスがちょっと???に感じられたので。
#H8じゃなくSHならPCの挙動に敏感に反応するのもわかるんだけどね。
#「遅延スロットでPC相対アドレッシングを使ったら、
#実際にアクセスされる番地はどこか?」みたいな面倒くさい問題になるから。
299:774ワット発電中さん
09/05/17 21:03:00 Cd76FU9P
>>298
学生か新入社員研修かなんかで、レポート書けとか言われてるんじゃないの?
向いていないなんて一言言うまえに、勘違いのポイントを教えてあげれば良いでしょう。
所詮、ここは2chだけどさ。
>>297
大抵のことは、マニュアルを読めば書いてあるよ。
質問されてるようなPCのことはさほど書いてないけど、
通常使う分にはそんなこと考える必要がないというのが、その理由。
300:291=293=294
09/05/17 21:31:46 woJiMDXh
>>290
あなたに「PCが+1される」と教えたその人は、
一体どのような方でしょうか? 職場の先輩?それとも単なる友人?
H8のアセンブラを少しでもかじった人なら「PCが+1される」
なんてこと絶対ないことわかっているはずですが。
あるいはその人はH8の命令コード群をC言語で
short int H8_instructions[]
みたいに捉えているのかもしれません。
short int の配列ならば+1で実際にはポインタが2進むから
一見つじつまが合っているように見えますが、
アセンブラとC言語は別物です。C言語の変な先入観を
アセンブラの世界に持ち込むといっそう混乱します。
(C言語は「高級アセンブラ」などと呼ばれているから
勘違いする人が多いみたいですが、はっきり言って別物です)
301:774ワット発電中さん
09/05/17 21:45:30 FCn4XIfe
他人の些細な疑問なんか捻り潰して、自分色に調教したいの(はーと)
302:774ワット発電中さん
09/05/17 22:38:41 7uv4ecnN
速く、半導体から身を引け!
赤字を作る部門はやめろ!
303:774ワット発電中さん
09/05/17 22:57:41 u0T2ewnK
PC が +1 されるとか教えてくれた人って、PIC使いじゃね?
304:774ワット発電中さん
09/05/17 23:28:29 zCF542vc
PC が +1
が+1アセンブラ行なら問題ないのでは?
単位が明示されていないので
305:774ワット発電中さん
09/05/18 00:13:00 d3BISGvC
自己弁護のために口数が多くなる男の人って・・・
306:774ワット発電中さん
09/05/18 00:27:23 MhryPWCb
特に誰もそんなことは教えてないんじゃないか。
>290を見ると教科書かなんかで見たCPUというものの動作の抽象的な説明を
H8に当てはめて自分でそう考えただけに見える。
なので、PC+1は単に次の命令を指すというだけの意味で、具体的に何バイトかとかは
問題にしていないんだよ、で終わりだと思う。
307:774ワット発電中さん
09/05/18 01:24:33 dgBE/Fs2
いや、命令とかオペランドの長さについても書いてるからPCのアドレスが
何バイト飛ぶかまで意識してるだろ。
308:774ワット発電中さん
09/05/18 02:45:37 6ZrQ2Fnp
>自己弁護のために口数が多くなる男の人って・・・
自己弁護のために口数が多くなる女よりはマシだな
309:774ワット発電中さん
09/05/18 02:48:12 6ZrQ2Fnp
>PCは24bitのレジスタで、次に実行すべき命令のあるアドレスを指していると教えられました。
>ここでよく、順次実行される場合は「+1」されて次の命令を指し示すと言われるのですが
教えてくれた人によーく聞いてみるのが一番だと思うわ
310:774ワット発電中さん
09/05/18 10:08:38 SvCc2eGb
ID:woJiMDXh
何この人みっともない
311:774ワット発電中さん
09/05/18 10:50:44 0LBxJV7e
爺さんだろ。
古きよき時代の俺の豊富な知識を見ろ!て感じじゃないかね。
312:774ワット発電中さん
09/05/18 10:57:36 dfnPIiMP
豊富な知識というか、俺はそこまでは辿り着いたんだぞ! お前には無理
とか言いたいのでわ。
313:774ワット発電中さん
09/05/18 16:14:37 ghq8iq39
いや、最初のレスが批判されて
さすがに自分でも悪いと思ったのか
何回もフォローするんだけど
どんどんドツボにはまっていくパターン
314:774ワット発電中さん
09/05/18 18:02:40 vtfoyFF1
>あなたの書き込みを最初に見たときからすごい違和感感じていたんだけど、
>なんでそんなにPCの挙動にこだわるの?
と思うなら、PCに拘らなくても良い理由を教えてあげるといいね。
質問者本人の着目点は「PCの値」あるいは「PCの増え方」なんだから、
それを考えることを全否定されれば、困ってしまうわな。
>爺さんだろ。
いや、もっと若いような気がするな。
若いヤツは、自分の知識が高い事が前面に出てしまって、
駆け出し/初心者を小馬鹿にする傾向があると思う。
一方、年寄り/じいさんは、人間的にも落ち着いているので
「あ~、なるほど、そういう所に目が行ってしまうんだ」と
達観すると思うなぁ。
315:昨日のID:woJiMDXh
09/05/18 22:05:33 pR35oPzT
俺を叩くのに必死な奴はいっぱいいるけど、
>>290に有意義なアドバイスをしてあげる人は誰もいないのね。
316:774ワット発電中さん
09/05/18 22:54:15 elMeJR0+
>>315
>>309
317:774ワット発電中さん
09/05/19 04:09:33 1LIODlrM
>>315
>>309に答えが出ている。
318:774ワット発電中さん
09/05/20 19:07:49 T06OZh0c
おーい!ゆのきーーーまさあきーーーーー
相変わらずIBM-PC互換機使ってるかい?
319:774ワット発電中さん
09/05/20 21:24:59 azLsZC1h
H8のPCが命令実行後に+1バイトならエミュレータ作りも楽できたのに
320:774ワット発電中さん
09/05/21 13:15:58 vnM4bVOh
>>319
1byte256個の命令にレジスタからアドレスまで入れろと申すか
せめてlongword固定とか…
で、+1(命令)だろうなあ。
URLリンク(cai.int-univ.com)
321:774ワット発電中さん
09/05/21 14:05:52 BkIZ8AKV
アドレスと即値の扱いをSHみたいにすれば何とか入らんか?
すげー効率悪くなると思うが。
322:774ワット発電中さん
09/05/21 16:33:29 u4ha3mzj
現在H8/3052FでA/D・D/Aポートを用いてループ計算をさせてディジタル制御をしています.
外部電圧を取得,計算,出力(オペアンプをかませて正負) 繰り返し…
ただ,1ループで1msを切れません.できれば100usくらいまで高速化したいなと…
それで秋月のAKI-SH2/1045FのRISC(CPU周波数は低いが4倍という謳い文句に惹かれて)かSH7144F(もしくはSH7125FTiny)を使おうかと検討しています.
SH2にした理由は単にキットが見つけれなかったからです.
できればもっと高速なSH3くらいを検討したいと考えていますが,手ごろなキットはないでしょうか?
A/D・D/Aポートと開発ツールがついていることが必須事項です…
323:774ワット発電中さん
09/05/21 19:44:03 scBEFsGV
SHボードといえば、アルハープロジェクトでしょう。やっぱり。
URLリンク(www.apnet.co.jp)
324:322
09/05/21 21:57:40 u4ha3mzj
>>323
ご紹介ありがとうございます.
SH-3 SH7709S StarterKitを検討します.
通常SHシリーズにはA/D・D/Aコンバータは内蔵されているのでしょうか?
325:774ワット発電中さん
09/05/21 22:27:57 scBEFsGV
>>324
>通常SHシリーズにはA/D・D/Aコンバータは内蔵されているのでしょうか?
そんなことまで人に聞くのか? 自分で調べようという気はないの?
データシートダウンロードして、見れば1発でわかるじゃん。
326:774ワット発電中さん
09/05/21 23:41:57 eoxw/dUR
変換時間は気にしないのかしら?
327:774ワット発電中さん
09/05/21 23:43:00 LSXcsWv0
どの程度の処理しているか分からないけど・・
H8クラスでC言語だとfloat/double型の演算を多用するとかなり遅くなるよ。
int/long型を使用した固定小数点で置き換えれば高速化できるかも。
328:774ワット発電中さん
09/05/22 00:03:03 HEM4OGn9
1ループ100us程度の処理ならアセンブラで書けばいいのに
329:322
09/05/22 00:10:19 dJY0EwhU
>>325
すみません,おっしゃるとおりです…
調べてみます.
>>327
一応過去にint中心になるように書き換えていますがそれでもなかなか…
6ms→4ms程度でした.
>>128
その手もありますね…
ただ,C++からの移植でして,アセンブラに直すほど余裕がないのです.
RS232Cからパラメータの送受信をPCと行う必要もありますし…
PC(Core2 2GHzで実行して0.5us程度)で実行していた時代もありますが,
OpenGLとの連携を行うと描画にCPUパワーが取られてしまい処理が遅くなったため制御部分のみマイコン化した次第です.
330:322
09/05/22 00:18:26 dJY0EwhU
>>325
H8と同じチャンネル数,分解能でありました.
申し訳ありませんでした.
331:774ワット発電中さん
09/05/22 09:31:38 TzuHfQIz
>>329
富豪環境でいいのなら (大学の研究?) もう1台PC用意して
InfiBandとかMyrinet等の低レイテンシネットで接続
MPIかなんかでノード間通信すれば良かんべ
332:322
09/05/22 09:49:17 dJY0EwhU
>>329
助言ありがとうございます.
はい,大学の研究です.
PCは何台も余っているのでしようと思えば可能ですし,たしかにパソコンでの実行が手軽に高速化できるのですが
OSが介入する
(例えばウインドウをドラッグするときも,その瞬間に一瞬だけCPUパワーがおち,制御が止まります…)
ことで一瞬でも処理が落ちると制御している機器が破損するという…
そういう意味でOSの介入がないマイコンへの移行した経緯があります.
333:774ワット発電中さん
09/05/22 09:52:01 Xo28RiED
>>330
IOが少なくていいんなら、SH7125お勧め。
アルファプロジェクトのSH/Tiny開発キット
URLリンク(www.apnet.co.jp)
334:322
09/05/22 11:57:15 dJY0EwhU
>>330
ありがとうございます.
>>322に書いたように一応候補としてあげてはいますが,
25MHzのH8から50MHzのSH2へ移行するよりも200MHz弱のSH3の方が処理が早いかと思いまして…
内部構造の違いから大した差が出ない・200MHzは冗長であると言う場合は考え直します.
335:774ワット発電中さん
09/05/22 12:54:22 W8TGLa0+
>>334
レスアンカー(>>n)は発言相手を指すようにしてね。
一台ぽっきりの設備ならコストを気にせずCPUパワーで
逃げる手もありと思うよ。SH3でもSH4でも好きなのを選べばいいよ。
思い切ってループの中身(長いの?)をさらしてくれると盛り上がるぞ~
336:774ワット発電中さん
09/05/22 13:37:37 GXHGBrMU
C++の移植というのが足かせだけど、
問題をクリアできるなら、FPGAやCPLDでやれば、
デバイスは安いし、マイコンより高速処理。
337:322
09/05/22 13:38:56 dJY0EwhU
>>335
アンカーミスしました(汗
すみません…
結局はSH7144Fにしようかという話にまとまりました…
が,25MHz→50MHzで体感的に変わるのでしょうか.
ループ内は少々お待ちください
338:774ワット発電中さん
09/05/22 13:56:21 l5eWaF+k
かなり変わるんじゃないかね
特にキャッシュがヒットしまくれば
339:322
09/05/22 14:17:15 dJY0EwhU
URLリンク(kissho.xii.jp)
DLP:denshi
すごく汚いソースです…
マイコン初心者状態で書き上げたものなのでご了承ください…
340:774ワット発電中さん
09/05/22 16:20:06 Xo28RiED
>>338
SH7144はキャッシュはないんじゃないか?
外部アクセスしなければ、キャッシュの必要もないけど。
341:774ワット発電中さん
09/05/22 17:29:52 60YR4uiM
読む気にならなかったから、さらっと見ただけで見当違いとは思うけど、シリアル送信を割り込みにしたら?
シリアルの送信って遅いし。
342:774ワット発電中さん
09/05/22 18:14:31 GXHGBrMU
>>339
float変数でもないのに、小数点計算をしているみたいですけど、
もしかしてこれは革新的技術でしょうか?
343:774ワット発電中さん
09/05/22 18:44:28 W8TGLa0+
main関数のwhile(1)を見ただけだけどかなり改良の余地がありそうだね。
暗黙の型変換だらけでランタイム呼び出しが激しそう。
ルネサスのコンパイラならとりあえずdouble型をfloat型として扱うオプションを
有効にすると1/3ぐらいには改善するかも。だまって"0.49"みたいな数値定数を
書くとdouble型扱いになってしまうからね。
逆アセンブラのコードを見ながらできるだけランタイムが呼び出されないように
記述して丁寧に整数化すれば100usぐらいいくんじゃないかな?
SHでどれぐらい速くなるか知りたければシミュレータを使ってネックになりそうな
部分のステート数を調べてクロックの逆数を掛ければ大体わかるよ。
H8と比べてみるといい。