1 :
774ワット発電中さん :
2005/05/13(金) 02:13:35 ID:NOXS7UbX ルネサス-旧日立系マイコン総合スレが削除されたようです。
三菱スレと一緒では支障を来たしますので、H8・SHはこのスレでどうぞ
有益と思われる前スレのコピペ
20 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/03(火) 16:27:45 ID:/edArdpk
4月の末に本屋に並ぶ予定ってことはもう出版されてるのかな?
http://hamayan.ddo.jp/~hamayan/so-net/book1.html メールで個人的に2,3お世話になったこと歩けど、この人かなりのもんだと思ったので期待してる。、
前にネットで盛り上がってたBoost本買ってがっかりしたことあるが、多分この人ならそういうことは無いでしょう。
休み明けにでも本屋に行ってみよっと
21 名前: 774ワット発電中さん 投稿日: 2005/05/03(火) 22:09:26 ID:CKkS/NwY
だんな、別席を設けましたぜ。かわいい子揃ってますよ。
http://science3.2ch.net/test/read.cgi/denki/1115114403/ 22 名前: 774ワット発電中さん 投稿日: 2005/05/04(水) 12:28:01 ID:lEqYOEkb
>>21 漏れはこっちでいいよ。gccがサポートしない三菱チップは今後とも使うつもりが無いし。
どうせならこっちはプロ限定とか、アセンブラわからない香具師お断りとかにして
敷居を高くするのも一案なんだけどな。
23 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/04(水) 13:57:52 ID:xM95ajPk
俺もこっちでいい。
異質な物を無理に一緒にしなくてもいい。
Mマンセーな人だって、せっかくMな話題が盛りあがりつつあるときに
急にHな話題が割り込んできて、そっちの方が大量にレスついてしまって
Mな話題がかき消されてしまったら不快だろう。
別れたほうがお互いの幸せだと思う。
24 名前: 774ワット発電中さん 投稿日: 2005/05/04(水) 14:41:31 ID:msJj/R5K
だね。
Hなんてもともと話題が少ないんだから、Mにかき回されたくない。
こっちは孤独にさびしくプチ盛り上がろうぜ。
25 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/04(水) 19:35:34 ID:lEqYOEkb
ルネサスじゃなくて
H8 & SH スレにすればよかったんじゃないかな?
まぁ、そのつもりにしてるけど。
26 名前: 774ワット発電中さん 投稿日: 2005/05/05(木) 22:04:05 ID:ntc3bdKB
>>12 > 3067/3069のICEっていまだにE6000しかないのか orz
3067ならコンピューテックスや、日立超LSIのが昔からあるよ。
2 :
774ワット発電中さん :2005/05/13(金) 02:16:43 ID:NOXS7UbX
27 名前: 774ワット発電中さん 投稿日: 2005/05/06(金) 11:37:03 ID:v+J5GKFk
それE7みないに2万円弱で買える?
28 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/06(金) 13:36:24 ID:Q9fuXKGZ
一桁違いますな。そういえば超Lのはカンマ2個くらいついてたような気もするなあ…
M32RのSDIみたいにバッファ一個でつながるインタフェースがほすい。
そうなったらソフトでぼったくられそうだが。
29 名前: 774ワット発電中さん 投稿日: 2005/05/09(月) 04:14:44 ID:BfPZaXR7
ここにはハーバードアーキを非ノイマンなどというアホはいないよな。
30 名前: 774ワット発電中さん 投稿日: 2005/05/09(月) 15:49:09 ID:u+crGNdF
>>29 非ハーバードアーキテクチャってのは何だ?
31 名前: 774ワット発電中さん 投稿日: 2005/05/09(月) 18:01:08 ID:5wn9HpuZ
ハーバードアーキテクチャじゃなく、かつノイマン型アーキテクチャのものの意味で使われる。
32 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/09(月) 22:53:43 ID:xp1OBpcY
SHのアセンブラについて詳しく解説したHPないですか?
パイプラインをどうやったら効率良く動かせるかとか。
私、H8のアセンブラなら経験あるんですが、
SHとH8って同じ会社が作ったとは思えないほど似ていないですよね。
(MOV.Bとか、表面的なニモニックは似ているけど)
33 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 14:03:33 ID:lVumASpo
H8のアセンブラを十分使いこなしてるなら、どんなCPUだって似たり寄ったり。
書けないとすればH8でも書けてないはず。
34 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 15:38:07 ID:1rWvwbZj
>>32 つ[ソフトウエアマニュアル]
いきなり手作業でパイプライン詰めないといけない状況が既に間違っているような。
>>33 まあCISCとRISCの違いがありますからなあ。
遅延分岐忘れてとんでもない事になったり。
3 :
774ワット発電中さん :2005/05/13(金) 02:17:49 ID:NOXS7UbX
35 名前: 774ワット発電中さん 投稿日: 2005/05/10(火) 16:39:31 ID:ugzLVUPf
>>32 コンパイラが計算して詰めたパイプラインの方が、人手で詰めたものより遙かに高効率で綺麗。
VLIWな痛ニウムなんかは、もはや人手ではムリ。
36 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 16:50:59 ID:lVumASpo
>>35 そういう奴知ってるよ。イソップのキツネ
じゃ、こうしようや
パイプラインの最適化できてなくてもいいからアセンブラで組んでみな。
効率以前にお前はできないだろ?
37 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 17:21:18 ID:OMRx0Jft
>>33 パイプラインの意味を知らない無知
38 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 17:31:10 ID:lVumASpo
>>37 パイプライン構造を取り入れて回路設計したことも無いバカ
39 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 18:17:06 ID:ugzLVUPf
>>36 TIのDSPのプログラムをアセンブラベースで組んいたからキミの揚げ足取りは無駄。
加算命令の後に数命令ロード命令が続くのって理解できるかい?
40 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 18:32:22 ID:lVumASpo
理解も何もある命令の直後に結果がレジスタに反映されず、遅延が発生するのはパイプライン構造なら当然だ。
それでも、コンパイラがやるより手で書いた方が意味を考えてコーディングするからスピードもサイズも好結果が得られたはずだ。
そうでなきゃ始めからコンパイラ使うからな。
4 :
774ワット発電中さん :2005/05/13(金) 02:18:39 ID:NOXS7UbX
41 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 20:11:54 ID:OMRx0Jft
>>38 >パイプライン構造を取り入れて回路設計したことも無いバカ
キミハCPUの設計者かね
でも
>>40 の書き込みを見る限りトーシロだな
42 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 21:07:46 ID:niN+pMMH
>>41 >>パイプライン構造を取り入れて回路設計したことも無いバカ
>キミハCPUの設計者かね
ホンマお笑いだな。
パイプラインがCPUの専売特許だとでも思ってるんかい?
初回投入データの処理遅延さえ許容されらえば、クロックを落とさずに誰でも簡単に実現できて、
かつ広く使われてる設計手法ってことも知らない。
ほとんどトーシロでもやってる設計をキミは知らんわけだ。
情けねぇのー
43 名前: 774ワット発電中さん 投稿日: 2005/05/10(火) 21:13:24 ID:Bxld86WX
SH2,3の場合だったらパイプラインを意識するのはそれほど難しく無い。
ディレドブランチも1命令しか入らないし。
メーカのソフトウェアマニュアルに各命令郡毎にパイプラインの状態を説明した
資料が付いていたと思うが。
でもまぁSHなら素直に純正コンパイラ使うわな。頭いいよ。
44 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 21:33:32 ID:OMRx0Jft
>>42 申し訳ない。
CPU以外で遅延分岐など複雑な要素のあるパイプラインを知りません。
教えていただけますか。
45 名前: 32 [sage] 投稿日: 2005/05/10(火) 22:29:10 ID:Oj57JURM
別に仕事じゃなくて趣味なんで。のんびり憶えていこうと思います。
あえてCではなくアセンブラをやるのも「そこにCPUがあるから」(w
まあ最初はパイプラインの効率などあまり気にしないで、
H8と同じように命令を並べて行こうと思いますが。
戸惑ったのは、ワードやバイトでロードすると符号拡張されることと
レジスタをバイト単位やワード単位で分割できないこと、
それからロングワードやワードをイメディエイトでロードできないことですね。
あと、H8では BSET #7,@PADR みたいなのが一命令でできたのに
SHではそう簡単にできないことですね。
5 :
774ワット発電中さん :2005/05/13(金) 02:19:12 ID:NOXS7UbX
46 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 23:02:16 ID:OMRx0Jft
>>45 以前は日立のホームページで「SuperHのパイプラインシミュレータ」なるものがダウンロードできたのですが。
現在はないのかな?
SHならやはりメーカーのマニュアルが一番わかりやすいと思います。
47 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/10(火) 23:16:17 ID:YaVOy04f
>>44 DSP
48 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/11(水) 00:16:32 ID:T66YV4+J
DSPもある意味プロセッサだしな
49 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/11(水) 14:54:04 ID:KQd9hDxn
順序回路はある意味全てプロセッサ
50 名前: 774ワット発電中さん [sage] 投稿日: 2005/05/12(木) 19:34:35 ID:FxyHIMsc
>>40 深いパイプラインのあるDSPの場合直後じゃないよね。
add a,b
st a,#address
ret
ld 123,a
ld 456,b
bne hogehoge
みたいなソース。可読性が高いとは言えないね
ちょっと見にくいですが続きをどうぞ。
やだ
8 :
774ワット発電中さん :2005/05/13(金) 08:47:36 ID:D7Cmhv7u
精神分裂病患者はインターネットを控えなさい
9 :
774ワット発電中さん :2005/05/13(金) 11:28:50 ID:q/GnQvKE
10 :
774ワット発電中さん :2005/05/13(金) 12:05:41 ID:D7Cmhv7u
↑と、現患者が申しております。
11 :
:2005/05/13(金) 12:19:03 ID:chMXLT+V
↑と、あほが申しておられます。
とキチガイがいつまでも粘着してホザいております。 -----> ID:D7Cmhv7u
13 :
774ワット発電中さん :2005/05/13(金) 12:22:59 ID:chMXLT+V
やめてー みんなやめてよー
14 :
:2005/05/13(金) 12:24:26 ID:chMXLT+V
あー。電顕1種って昇進に役立つのかしら。
15 :
:2005/05/13(金) 12:25:12 ID:chMXLT+V
電気主任ね。OTZ
16 :
774ワット発電中さん :2005/05/13(金) 12:31:42 ID:D7Cmhv7u
とキチガイがいつまでも粘着してホザいております。 -----> ID:lvr8fAXV
ボキャブラリ貧困なんでコピペするしかないキチガイです -----> ID:D7Cmhv7u
18 :
774ワット発電中さん :2005/05/13(金) 12:34:31 ID:D7Cmhv7u
ボキャブラリ貧困なんでコピペするしかないキチガイです -----> ID:lvr8fAXV
ええっと
20 :
774ワット発電中さん :2005/05/13(金) 17:27:32 ID:z4sQRUYS
みんなーやめてょぉおおお!
この調子で1000まで行ったら禿笑
確かに、ハゲワラだけど、こんな専門スレを、わざわざageて馬鹿を晒す人が居る限り、 在り得ない事ではないという気のする、今日この頃。
モルダー、あなた疲れてるのよ
さぁ、寝よう。
25 :
774ワット発電中さん :2005/05/14(土) 13:27:27 ID:IZe6+0ZR
前スレ止めた奴、Qと一緒に荒らしまわってた奴かな?
26 :
774ワット発電中さん :2005/05/15(日) 17:22:15 ID:m3dhJz0c
27 :
774ワット発電中さん :2005/06/10(金) 11:51:09 ID:Pta3ND42
3069用のICEやすくならんもんかな?このクラスはSH2使えということ?
>>27 メモリをアホみたいに積んでgdbstubを
そういう路線もあって、 メーカ製で苦労せんでも使える環境も欲しいかなと。 HEWから使えるのは便利だと思う。 gdb環境作ったけど、使いにくいし、なんだか不安定
30 :
774ワット発電中さん :2005/06/11(土) 08:42:33 ID:QPqXLiA0
最近わさびい来ないね
>>30 macは鬱直ったのか?
HP見たら電気治療やったって書いてあるず。
5月に退院したと。
32 :
774ワット発電中さん :2005/06/11(土) 20:52:27 ID:uuznxvCn
精神障害の治療に電気を使うのって 昔から精神病院の治療方法に使っている電気ビリビリとかいう奴?
>>32 昔というのはうつ病の治療薬がなかった時代のことです。
その昔は電気ショックだった可能性があります。
現在では、大変安全なECTと呼ばれる通電療法に進歩し、
その治療効果は極めて高く、薬がよく効かない患者でも
80%くらいの確率で直ってしまうという驚くべき効果が
あるそうです。
34 :
774ワット発電中さん :2005/06/11(土) 21:28:47 ID:uuznxvCn
>33 勉強になりますた。 筋肉トレーニングのEMSマシーンとか低周波治療器のようなものでしょうかね? 電気電子板ということでECTに興味がありますので調べてみようと思います。 低周波治療器を両こめかみに当てて・・・という都市伝説は聞いたことがあります(ガクブル
35 :
774ワット発電中さん :2005/06/11(土) 21:30:19 ID:uuznxvCn
>>35 ちょっと怖い印象の説明で、良くない印象ですね。
NHK TV 3CH 夜8:00からの健康番組でよくうつを取り上げているので
こちらのほうがお勧めです。
うつ病は非常に多くなっています。
これは精神病というよりは脳の病気です。
たいていは薬が良く効き直ります。
お前らマイコンスレで精神病の話なんかすんなよ
38 :
774ワット発電中さん :2005/06/12(日) 04:38:15 ID:ZLgX4Dqj
学生のとき、夏休みの体験実習として蒲田にある富○通F○Pに2週間程度お世話になったことがある。 その際、分○河○の独身寮にとめてもらったんだが、とても変わったことをいう人がいた。 話題はCPUは68kかi8086かという内容で、その人いわく、 「俺は塩酸の入ったビーカーに8086つけて動かしたことがある。グヒヒ・・・」云々と とても現実離れしたことを詳細にお話されていたのがとても印象深かった。 プログラム開発の仕事に従事している現在の自分を振り返ると、煮詰まった時、いいアイデアが浮かんだとき ぶつぶつ独り言を言っている自分に気がついていることに関して、一度心療内科に逝って心の健康診断をして もらう必要があるのではと考えることもある。
macは体調良好だってHPに書いてあった。 直ったみたいだね。 わさびは天然だからそのままだよ
40 :
774ワット発電中さん :2005/06/24(金) 08:34:48 ID:ff0ZbYIe
体調良好=躁状態
H8のADコンバータって何気に高速なのな。
普通
もっと速くて、ビデオ信号とり込めるくらいなら いろいろ面白いことができそうなんだが。
44 :
774ワット発電中さん :2005/07/09(土) 16:38:20 ID:gy7DOmuT
AKI-3069Fを使っていて、はまってしまっています。もし分かる方がいたら 教えていただけないでしょうか? 基板テストのために H8OS を使って httpprog のプログラムを動かしています。 このプログラムは、内臓RAMでは問題なく動作していますが、不思議なことに 外付けのDRAMで動かそうとすると、うまく動きません。 症状としては、ブラウザから、192.168.0.145にアクセスしたときに内臓RAMでは 問題なく応答が返ってきますがますが、外付けDRAMでは返ってきません。 また、ping の挙動も内臓RAMでは問題ありませんが、外付けDRAMでは動いたり、 動かなかったり挙動が怪しいです。 いろいろ試してみたのですが、外付けDRAMの場合、Ether からの割り込みが うまく拾えていないのでは?というところまで分かってきました。 というのは、ブラウザで192.168.0.145 にアクセスした場合に、write_string で コンソールにハンドラ関数(http_recv)が起動されたことを表示しているのですが、 内臓RAMの場合は問題なく表示されていますが、外付けDRAMでは、表示され ないことまで確認できたからです。 外付けのDRAMは、東芝製のTC5117805CFTS-60が接続されています。 メモリチェックのプログラムでDRAMそのもの不良がないか確認してみましたが、 特にそのようなことはなさそうです。 文章がうまく整理されていなくて、大変恐縮ですが、何かアドバイスをいただけたら 大変助かります。
45 :
774ワット発電中さん :2005/07/09(土) 21:17:05 ID:gHJGumkk
どうせ リンカスクリプト間違ってるんだろうよ。
ああ、それだ多分
47 :
774ワット発電中さん :2005/07/09(土) 21:45:30 ID:gy7DOmuT
>> 45 ,46 リンカスクリプトの設定(DRAMへの書き込み)は以下のようになっています。 もし、おかしなところがあれば、ご指摘いただければ助かります。 OUTPUT_FORMAT("coff-h8300") OUTPUT_ARCH(h8300h) ENTRY("_start") MEMORY { syscall(r) : o = 0x000100, l = 0x0200 ram(rwx) : o = 0x400000, l = 0x1800 << 変更箇所 } SECTIONS { .syscall 0x100: { ... 長いため省略 .... } > syscall .text :{ *(.text) *(.strings) *(.rodata) _etext = . ; } > ram .tors : { ___ctors = . ; *(.ctors) ___ctors_end = . ; ___dtors = . ; *(.dtors) ___dtors_end = . ; } > ram .data : { *(.data) _edata = . ; } > ram .bss : { _bss_start = . ; *(.bss) *(COMMON) _end = . ; } >ram }
48 :
774ワット発電中さん :2005/07/09(土) 22:00:12 ID:gy7DOmuT
補足になりますが、通信がうまくいなかない DRAMバージョンの http.c に手を加え、 main ループ内でコンソール上に、一定間隔で、文字列を表示しているのですが、 それは問題なく表示されているので、一応プログラムは動作しているようです。 メモリのチェックプログラムも試しに 0x400000 で起動するものを作ってみて、 プログラムが使用していない0x400100移行をチェックさせてみましたが、問題なく 動作しました。 どうも、素人の私が見たところ、Etherが絡む動作のときだけ、おかしいように 見えます。 言い忘れていましたが、H8OS はV3.51の古いものを使っています。
たった1800h? 秋月のボードって2MB載ってなかったか?
50 :
774ワット発電中さん :2005/07/09(土) 22:04:59 ID:gy7DOmuT
>>49 レスポンスありがとうございます。確かにそのとおりですね。
変更してやってみます。
51 :
774ワット発電中さん :2005/07/09(土) 22:21:43 ID:gy7DOmuT
やってみましたが、同じでした。 orz そもそもこのプログラム570hまでしか使っていなかったので、あまり 関係がなかったようです。 以下のように変更してみました。もし間違いがあればご指摘ください。 MEMORY { syscall(r) : o = 0x000100, l = 0x0200 ram(rwx) : o = 0x400000, l = 0x1f4000 << サイズ変更 }
スタックエリアどこに切ってんだよ
53 :
774ワット発電中さん :2005/07/10(日) 10:02:51 ID:3YTMS97q
>>52 レスありがとうございます。スタックエリアは、H8OS側で定義されています。
http.c それ自体で必要な関数コールがない(main以外は、H8OSのシステムコールと、
H8OS用のコールバック関数の定義です)ことと、内臓RAMで動作実績があるので、
スタックエリアの定義はしませんでした。
その後、動作させてみて分かったことですが、内蔵RAMに比べて外付けDRAM
で動かした場合、なんだかとても遅いことが分かりました。5倍以上くらいでしょうか?
とにかく全然違います。
内臓と外付けDRAMの差があるとはいえ、体感できるくらいの差が出るものなのか、
ちょっと(?_?)です。
ブラウザのレスポンスについても、じっと待っていれば一つ目の応答はだけは
返していることが分かりました。ただ、辛抱強くまっていても、それ以降の応答を
返している節がありません。なんとなく、処理が回ってきていないような感じです。
もう一枚、基板を買ってきて試すことも考えていますが、原因が分からないことには、
また同じことを繰り返さないか、ちょっと不安です。
一般的に言って、内蔵RAMと外付けDRAM(しかも8bit接続だったりすると余計)の速度は全然違うよ。
55 :
774ワット発電中さん :2005/07/10(日) 13:36:31 ID:3YTMS97q
>>54 やっぱりそういうものですか。回路図を見たところ8bit接続でした。
確かに、int データのやりとりにはかなり時間がかかりそうですね。
サイクルも倍ですからね・・・構造体になると、気が遠くなりますね。
#しかし、ここまで違うとなると。プログラムの速度がキャッシュ・サイズに
#大きく依存するというのを聞いたことがありますが、それに近いものが
#ありますね・・・(速度比は比べ物にならないけど^^;)
しかし、遅いといえども所詮プログラムですので、外付けのDRAMであろう
とも、まともに動かないことについては、まだ納得できていません。
最終的には、uClinux を動かそうと思っていて、実際にトライをしてみたの
ですが、Redbootまでは、動きましたが、kernelは、0x400000 に配置され
ているため案の定、動きませんでした。
H8OSのプログラムさえまともに動かないので当たり前といえば当たり前
ですが・・・
皆さん、何事もなくuClinuxが動いているようですので、何か別の要因が
ないか、もう少し調べてみます。
ハードウェアマニュアルにちゃーんと書いてるDRAMのメモリアクセスのタイミングチャートの見方もわからないわりに やろうとしてることはいきなりそこそこハイレベルなんだよな。アプリケーションのソフト屋か? ハードが確かかどうか知りたけりゃ、理解できてないH8OSなんか載せずに、先ずメーカが提供してるモニタを焼いて、ハードウェアのチェックしろ。 つーかな。H8OS載せてぐだぐだ言う前にハードウェアマニュアルをちゃんと読め。
いいこと聞いたろか? おまいのボードに載ってるDRAMはFPMかEDOかどっちだ? バスコンフィギュレーションはどうなってるよ。
58 :
774ワット発電中さん :2005/07/10(日) 20:59:49 ID:3YTMS97q
>>56 ,57
レスありがとうございます。アプリケーションのソフト屋というのは大当たりです。
仕事は業務系アプリをやっているのですが、表面的な技術ばかりやっている気がして、ここは
ひとつきちんと基礎からと思い基板からおこしてみることを考えてみました。特に、AKI-3069F
は、なじみの深いLinuxが動くというので。
ということで、週末の空いた時間しかないことと、オシロやロジアナのような機材もないので、
やれることが限られているのです。(手元にある測定器といえばテスターくらい・・・しかもアナログ)
やっぱり多少出費してでも、そろえたほうがよいでしょうか?
さて、ハードウェアマニュアルの件ですが、秋月にはめられたかな?という気がしてきました。
同梱されていたマニュアルにはどういう訳か hynix のデータシートが入っていまして、それが
FPMだったので、きっと搭載しているこの東芝製のDRAMも、このデータシートと互換でFPM
なんだろうと思っていました。
ご指摘をうけて、改めてWEBで検索したところ、このチップEDOであることが分かりました。T_T
ほんっとうに、ご指摘ありがとうございました。m0m
#まさか、こんなところで躓いていたとは・・・・
#最初から疑ってかかるべきところでした。思い込みというのは恐ろしい・・・・
それで、H8OSのソースを確認したところ、ご指摘のとおりバーストモードがONになっていました。
恐らく問題は間違いなくここだろうと思われます。
#H8OSがROMと内臓RAMで動作していて、httpがDRAMという組み合わせで、中途半端な状況
#で動いていたので、ややこしい状況を作り出していたということがなんとなく分かってきました。
ただ、H8OSのコンパイルに多少手こずっていましてまだ確認がとれていません。確認がとれまし
たら、またレスいたします。(来週になってしまいそうですが・・・)
あと、メーカ提供のモニタを焼いて確認というのもまったくご指摘の通りだと思います。
ちょっと言い訳じみていますが、これも、秋月の提供してきたドキュメントにH8OSが同梱されており、
多少詳しい解説もありましたので、これで確認するものと思い込んでいました。(思い込みがはげしいなぁ・・・)
私にとっては、メーカ(秋月)提供のモニタがH8OSだったということです。まだまだですね。
ただ、H8OSに関してはソースが公開されているのはいいかなと思いました。
>>58 静観してたけど、他スレも含めてAKI-3069Fで同様の質問は大抵EDOオチだったよ。
俺が憶えてる範囲で君は4人目だ。
>>59 その後、Webで検索してみたら、たくさんこの手の話が出ていました。orz
すっかり、自分のはFPMのDRAMなんだと思い込んでいたので、ご指摘を
受けるまで、フィルタにかかりませんでした。
秋月もせめて、紛らわしいDRAMのデータシートを同梱ドキュメントから
外してほしいですね。なければないで、自分でどちらのDRAMなんだろうと
探していたでしょうから。(おまけなんですし・・・)
私のような素人は販売元の情報に一番の信頼を寄せてしまうので。
でも、いろいろと皆さんからご指摘を受けたおかげで大変勉強になりました。
私にとっては新鮮な領域なので、指摘を受けるたびに新しい気づきがありました。
皆様、ありがとうございました。
>>58 根本的に秋月がわかってないな。
メーカというのはルネサスのことだ。秋月はメーカじゃない。商社だ。
秋月が用意してる資料は間違いだらけだが、見る奴が見ればわかるというシロモノ。
お前が先ず読まなきゃいけないのはそんなあやふやな資料じゃなくて、ルネサスのハードウェアマニュアルであり、
ハードウェアを検証する上でフラッシュに焼かなきゃいけないのはルネサスの簡易モニタだ。
もちろん簡易モニタではネットワークは動かんがバスとポート、割り込みの動作チェックでおおよそのチェックはできるはずだ。
その間違いや出鱈目に叩かれて強くなるわけですよ
63 :
774ワット発電中さん :2005/07/11(月) 00:14:37 ID:/yvPofF1
でも、そんなデタラメな商社未満の秋月が 俺たちは結構好きなんだよな これはもう恋だな
ジェダイの騎士になるためには、己を捨てて厳しい修行に耐えなければならないのだ。
んで、ダークサイドにはまるわけだな。
秋月はH8の安いキットを販売しているだけで価値があるな。 ソニーと同じで、けして好きな会社ではないがついつい買ってしまう。
秋月は同業他社よりかなり安いし、ここでしか売ってないものもあるからな。 でもソニーとは決別したよ。多分もう買わないと思う。ソニーも昔はスペックの網をかいくぐって面白い製品をだしてたんだけど、 チョサッケンを真っ先に唱えるショーもないメーカになってしまったからな。テープの時代も終わったし。めちゃくちゃよく壊れるし。 壊れてもまともに修理もできないし。
ソニータイマーw 適当にモデルチェンジして買い替え需要を掘り起こさなくても買い換えさせる技
面白みには欠けるんだがパナって壊れにくいよな、ビクターは修理に出せば直るけど、ソニーと同じぐらい壊れるね。
1週間ほど前にお騒がせしたEDOではまった馬鹿者です。 その後、H8OSのDRAMのバスコンフィグレーション(DRCRA)を3C→38 にしてまったく問題なく動作することが確認できました。 また、uClinuxも、最新のRedbootをインストールすることで、kernel2.4で 問題なく動作することまで確認できました。 いろいろとお騒がせしました&皆様ありがとうございました。 以上、ご報告まで。
>70 秋月のQ&Aに書いてあるのに>江戸
72 :
774ワット発電中さん :2005/08/17(水) 09:43:43 ID:oadsD50c
やっぱ三菱系は分けて正解だ
73 :
774ワット発電中さん :2005/08/17(水) 16:53:47 ID:Hfy4ub09
ルネサスのHP、全面変更されてから重いし使いにくいしヒドイなー しかし統合でH側にはなーんも恩恵が無いような気がする M側はHEWとか、JTAGデバッガとか使えるようになったのに。
漏れはデバッグインタフェースはSDIの方が使いやすい。 慣れの問題かも知れんが。
75 :
774ワット発電中さん :2005/09/15(木) 09:27:14 ID:2eUZdTSG
きみの問題だね
会社でマイコンを見かけるけどソフトはやらないハード系の位置付けの私。 一応Cの研修は受けてるので勉強しようとAKI−H8/3664F買って 半田付け(会社に無鉛しかないので温度でパターン剥がれないか心配でした)して LED点滅させるプログラム書いて思い通り動いた喜びでハマリそうです。 そこで次に一緒に購入したLCDを繋ごうとしたのですがこれのデータバスが8bit固定。 でも3664Fにある8bitのポート5はI2Cの電圧が低いのが2本あり、ポート8は ブートモード用に1本使用されています。このLCDを3664Fに直結するのは 不可能でしょうか? またI2Cバス接続のルネサスのM62320のようなI/Oエクスパンダを使えば出来そうに 思うのですが秋葉あたりでこのICは手に入るものでしょうか(会社のリールから SMT品をガメてくることは出来ますがピッチの狭い実験基盤が・・・)?
>>76 キャラクタタイプのLCDだったらI/Oが6本あれば大丈夫だった気がするけど…
>>77 > キャラクタタイプのLCDだったら
レスどうもです。グラフィックタイプの買っちゃったんです(^^;
>>78 データ方向がH8→LCDだけでいいなら簡単にシフトレジスタの74HC164あたりでいけるけど、
双方向必要なら74HC299っていうのもあるけど結構面倒かな。
>>76 ビットマスクとかビットシフトってわかるかなあ?
ポート8の足りない1ビットを、他のポートから補えばよろし。
適当な関数を噛ませば擬似的に8bitポートとして動作させられる。
.....ハード系の人間ならSMTでもちゃちゃっと半田付けできるようになろうぜ。
0.8mmピッチまでなら、ちょこっと練習すればUEWでpinを引っ張れるようになる。
0.5mm以下は流石に厳しくなるが......
0.5mmまではなんとか頑張るけど、ちょっとミスして 足の上の方に半田付けちゃったりすると涙目 そのときだけは「テープでも貼っておけば」と思うけどすぐ忘れる
>>79 > 簡単にシフトレジスタの74HC164あたりでいける
このICなら出来そうですね。高速性がLCDのI/Fにはちょっと豪華すぎますが。
>>80 > ビットマスクとかビットシフト
そういう方法もあるんですね。でも自分のハード専用という感じになってしまうので
最初は4bit可のキャラクタタイプのLCD買ってみようかなと思い始めました。
> .....ハード系の人間ならSMTでもちゃちゃっと半田付けできるようになろうぜ。
試作基盤設計ミスでバスの上位下位逆になった0.5mmピッチのICの足を上げて
リード線で繋ぎ直すとかやってますんで技術はそこそこあると思いますが趣味で
やるのはリード線を減らして極力綺麗に組みたいなと(^^ゞ
>82 ダブルラッチの74HC595が使いやすい。HC164はシフト途中では、出力変化しまくりで ターゲットのコントロール線を別に配線しないと使えない場合が多い。
秋月で買った3048用コンパイラ、3664にも使いたいんだけど I/O定義ファイル取り替えるだけでOK?
86 :
84 :2005/10/20(木) 21:22:45 ID:KPOKy1fi
>>85 なんかね、HEWの無償版落としてきて
I/O定義ファイルを抜いてきて(エラーの出るところだけ修正)
3048用のコンパイラ動かしたら動いちゃったよ…?(゚∀゚ ;)
誰か試した人いる?
まぁHEWの無償版落として使えばいいだろって話なんだけどね
試用期間後のリンクサイズの制限が64kBで
tinyのアドレス空間そのままだし。
>>86 私はGDL使ってます(まだ始めたばかりですが)。
HEW無償版もインストールしたけどアップデータソフト?が常駐するのが嫌です。
まあ業務で開発に使ってる人には必要なんでしょうけど。
88 :
774ワット発電中さん :2005/10/20(木) 22:05:10 ID:ZK0j/O8Q
切ればいいじゃんか。
>HEW無償版もインストールしたけどアップデータソフト?が常駐するのが嫌です。 スタートアップに登録されるだけなんで、アイコン削除するだけだけど? まさか、それも知らないとか。。。
>89 > まさか、それも知らないとか。。。 やっぱこういう奴ばっかりだよな、こういうスレはw うひゃひゃひゃひゃひゃひゃひゃひゃひゃ終了
AKI-H8/3664とIOボードってリセット端子がプルアップされてないんだよね。 大丈夫なのかな。
大丈夫です
H8で動くプログラムをCで組んでいて、サブルーチンコール時にプログラムが 固まってしまうバグに悩んでいます。サブルーチンを関数化せずに、 呼ぶ側でつらつら書くと問題なく、関数にした途端におかしくなります。 おかしくなった時のHEW上の逆アセンブルでみると、 MOV.B @ER2,R1L BTST.B #5、R1L でループしてる感じになります。 呼ばれるサブルーチン内を単純なポート操作などに変えてもなるので HEW上の設定かなにかかと思うのですが。。。どこを疑ったらよいですか? スタックとかですか?!よくわかってないのでヒントをぜひ
↑で書き忘れました。 アセンブルソースは 416A MOV.B @ER2,R1L BTST.B #5、R1L BNE @H'416A:8 でループしてしまいます。
スタック用意してないとか
96 :
93 :2005/10/22(土) 20:26:39 ID:njrIh9gB
それまでにたくさんサブルーチンを書いてきて、デバッグも成功してきて ある一つの処理ルーチンを足した途端に起きた現状です。 スタックは100Hほど用意していますが、十分足りてるはずなのですが。。。 確認の方法はどうしたらよいのでしょうか? 素人過ぎてすみません。
>>94 みたいなソース見せられたって、単に@ER2の
ビットが立ってないから回ってるんでしょ?としか言いようが
ないんじゃねぇの?
そのループが一体ソースコードのどこにあたるのか調べて
みるのは常識中の常識だよな?
>>97 そうなんだけど、ソースの内容云々じゃないみたいなんだ。
解ったのは、ある特定のPCに配置された関数を呼ぶと
例のアセンブラコードで回るみたいなのです。
そのPC(たとえば0x140e)に配置される関数の内容はなんでも
よく、場所が問題みたいです。。。。
アセンブラコードで書かれた処理がどこに当たるかは正直よくわからないです。
きっと入力を待ち続けている箇所になぜか飛んでいってしまってる感じなのです。
だったら、飛ぶ直前で待ちかまえてみるものじゃねぇの?
あと、「きっと」じゃなくて、そのアドレスがどのあたりかなんていうのは リンク後のマップと付き合わせてみれば良いんじゃね?
101 :
93 :2005/10/22(土) 22:18:25 ID:oKnLrT4o
症状が大分掴めてきました。 あるプログラムカウンタに配置された関数Aと 全く同じ処理を書いた関数Bを別のPCに配置される様に 用意して、双方をそれぞれ呼んだ場合、 Aを呼ぶと呼んだ途端に無限ループ、 Bを呼んだ場合はなんら問題がない事が解りました。 pc 0x140E void A(unsigned char ***){ 処理 } pc 0x150E void B(unsigned char ***){ 処理 } pc 0x0160E void main(void){ A(***); or B(***); } ですので、関数の内部記述の問題等ではなく、コンパイラorリンカなどの設定 ミスかなあと思っているのですが、どの様な追求の仕方が考えられますか? 環境はH8/3672をE7でデバッグしています。
まずは、オブジェクトレベルでどう落ちているのか見て、 ハンド逆アセンブルしてみては?
メモリ壊してるとか割り込みが入ってるとか
うん、だいたいそんなところじゃないかという希ガス
105 :
93 :2005/10/23(日) 07:58:14 ID:NoLafgxT
回答ありがとうございます。 でも具体的にどうして良いのか解らない。。。汗 割り込みは禁止にやってみても症状でたので たぶんメモリ周りなんだと思うのですが、 PC 0X140eに配置された関数が、メモリのどこに 配置されているかを見て、そこになにかが不用意にアクセスしてるか を調べるって事ですよね? 一つ気になるのは、リンク時に最適化をなしにすると、 エラーがでる事です。重複している箇所があるとメッセージが出ます。 たしかBとRだったかな? で最適化するとこれを避ける様に配置してくれてる様なのですが、 それが原因の様な気がしてるのですが、どう対処して良いのか。。。
もうソースを全部晒さんと駄目かも解らんね
107 :
774ワット発電中さん :2005/10/23(日) 17:33:23 ID:1nhu/w8T
うわあああああああああああああああああああああ
上っ面の現象だけ撫でていても何もわからないに決まってる。 0x140eから先にちゃんと目的の命令が並んでいるのかとか、、 呼び出している側はちゃんと0x140eに飛ぶようになっているのかとか ダンプリストで16進見てやらないとなー
>>105 HEW のオブジェクト出力形式 SRC にして
ASM になった形で追ったか?
リンカに MAP 情報を出力させて
照らし合わせて追ってみそ?
>>105 B セクションと R セクションの重複メッセージもちときになるな.
そのせいで壊しちゃいけない変数壊しちゃってるとかね.
111 :
93 :2005/10/24(月) 13:55:09 ID:qncoRPL6
皆様、いろいろ助言ありがとうございました。 1から追っていったところ、110さんの言われる通り メモリの重複が原因でした。 ヒープ領域を取りすぎてたおかげで、他の変数が配置できずに リンカの最適化が無理矢理配置していたみたいで それが原因でした。 ヒープ領域を削って、全変数の使用領域・使用量をきちんと設定していったら 直りました。 お騒がせいたしました。
>>111 解決したようでよかったんだが,ヒープをそんなに確保する必要ある?
動的に領域を取るようなつくりは,H8 を使う程度の組み込みの場合あんまりしないかも.
きっちり計算すれば,それぞれを静的に割り振れたりして.
俺は Win アプリ屋もかねた組み込み屋 (小規模) だけど,
組み込みの場合,動的にメモリを確保するってのは使わないようにしてる.
あと,スタックの使用量とかも,HEW だったら便利なツールがあるから
しっかり把握して,無駄に大きくとらないようにしたほうがいいよ.
あるバッファを高速にゼロクリアして、さらにゼロになっているかかくにんするプログラムを作りたい けど、とにかく高速に処理をしたいと思っています。 何か良い方法はありますか? 使っているのはSH-2の7145です。 とりあえず、RAMに0を代入して、その領域と任意の変数(初期値0)とORしていき、次のRAMをクリア。 最終的にその任意の変数が0になっているかを確認という方法をとっています。
>>113 プログラム板で2度ほど同じ質問をみたが…
>>113 何年前から解決してないのよw
もうやめたら?
いや、もう解決してるけど、さらに高速に処理したいので2chで意見を伺っています。 ただ、なかなか参考になるような意見が少ないのが現状です。 さすがにもうあきらめるべきかな?
117 :
774ワット発電中さん :2005/11/07(月) 01:32:32 ID:wiqYUW/w
0クリア専用ハードウェアにしてみたら?
>>116 DMAでCPUが知らんうちに0を書き込むようなハードを作ったら駄目?
確認してしまうと遅くなるので、0クリアするタイミングさえ(まあ一般的には割り込みで知らせる)
間違わなければ確認も要らないんじゃないかと思うが。
FPGAで簡単にできるんじゃないの?
あと、どうしても0クリアする必要ってあるのかな? 一般的にバッファっていうとOver Writeしてしまっていいんじゃないの?
120 :
774ワット発電中さん :2005/11/11(金) 11:37:03 ID:S0U85X30
学習以外の目的で本トレーニングボード(付属品を含みます)を使用することは固くお断りいたします。
121 :
774ワット発電中さん :2005/11/11(金) 13:44:47 ID:bKL4a6Ml
>>116 さらにって、現状でどれくらいで終わっているのか説明してほしいな。
質問するならそれくらいは調べているんだろう。
あと具体的な処理はソースさらさんとわからんぞ。
RAMって書いているけど、アドレスごとなのか、ICごとなのか読んだだけだと判らん。
プログラムは何で書いている?
おいらだったら、まず全部のRAMエリアをクリアした後チェックを行なう。
変数とORしていると書いているけど、この値はレジスタを使っているのかな?
RAMから読み出しているとすればそのあたりを変更すればけっこう早くなると思うよ。
122 :
116 :2005/11/11(金) 13:51:49 ID:YeU7aKuK
>説明してほしいな。 嫌だね。 >ソースさらさんとわからんぞ。 ○秘だよーだ。 >プログラムは何で書いている? 織田信長 >RAMから読み出しているとすればそのあたりを変更すればけっこう早くなると思うよ。 あ・そ
123 :
774ワット発電中さん :2005/11/11(金) 17:38:28 ID:S0U85X30
>織田信長 いまどき開発に信長なんてだせえ 藁
124 :
織田信長 :2005/11/12(土) 03:29:01 ID:Ka1AHhTB
悪かったな光秀 == >123
天下泰平
126 :
774ワット発電中さん :2005/11/14(月) 23:17:48 ID:WGDbth66
CQのSH4評価キットでの質問です。 キャッシュONしたいのですが、評価版コンパイラの仕様で0x08F0_1000(P0領域) 以降に固定配置され実行されるとあります。 P0領域ではキャッシュONできないみたいなので、P2領域などにキャッシュONする 関数などをコピーなどで移動させてからそこへジャンプするという方法を考えていますが これでいいのでしょうか?
わざわざコピーしなくても、同じコードがP2空間に見えてないかい?
?
P0はキャッシュの使える領域でP2が使えない領域じゃなかったか?
>>129 ハードウェアマニュアルのp121付近にP2領域からONしてね
っ手書いてあります
単にON/OFFしたいだけなのね。了解した。 じゃ、物理アドレス空間とP0やP2領域のアドレス空間を較べてみましょう。 物理アドレス空間の方がずっと狭いでしょ。 同じ物理アドレスがP0でもP1でもP2でもP3でも見えるわけです。 なので、ある関数をP2で実行したいなら、コードをコピーする必要はないが、 呼び出すアドレスをP2のアドレスとして呼び出す必要はある。
ありがとうございます、教えていただいて感謝します
133 :
774ワット発電中さん :2005/12/08(木) 02:10:30 ID:MnQS6op4
H8/2357に関して質問があります. TPUのPWMモード1機能でパルスを吐いていまして, パルスを停止させる時には出力を Lowで固定しておきたいと考えています. で, ハードウェアマニュアルのTPUのTIOR (タイマIOコントロール) レジスタの説明を見る と, "TIORで指定した初期出力はカウンタ停止した状態で有効になる" と記述があります. これを見て, カウンタを停止すると出力ポートの値が設定した「初期出力」に強制的に変わ るのかなと思っていたのですが, 実際に組んだプログラムはそうなりません. 「初期出力」というのはタイマ停止時の出力値というわけではないのでしょうか? (※TGRAとTGRBの両方に初期出力の設定があるのでおかしな気もするんですけど.)
134 :
774ワット発電中さん :2005/12/09(金) 08:57:31 ID:bHnHnrka
>133 TIORのそこはPWM時は無効だと思うが。 PWMで出力を0固定するんだったら、DUTY用のレジスタを周期レジスタ値より 大きく設定するのが普通だ。しかし、1周期過ぎないと落ちないけど。
フラッシュROM(ZTAT)のユーザープログラミングでつまずいているorz イレーズはできるんだが、書き込みができない・・・ 「32バイトをバイト単位で連続で書き込む」という部分が もしかしたら怪しいかもしれないんだが・・・ C言語だとうまくコンパイルされてないかもしれん フラッシュロムの書き込みのサンプルコードとか どっかに転がっていないかのう
>135 当然FLASH上ではなくRAM上にプログラムを転送して実行しているよね?
>>136 そりゃ当然。asmで組まないとダメなのかなあ・・・
あとフラッシュロムのアドレスは32の倍数(0,0x20,0x40...)でなければならないよね 32バイト連続で書き込む部分を for(i=0;i<32;i++){ *p++ = wr[i] } こんな感じで書いている (pがフラッシュロムのアドレス(char*)、wr[]は書き込むデータ32バイトの配列(char) これだとうまくバイト転送にコンパイルされないのか? 連投スマソ
139 :
774ワット発電中さん :2005/12/10(土) 14:07:04 ID:41gcB8QI
漏れのソース一部さらしてあげよう pWriteAddrはvolatile付いている FLMCR.BIT.SWE = 1; Wait10u(2); for (RtyCnt = 0;RtyCnt < 403;++RtyCnt) { pWriteAddr = pWriteAddrTop; for (cnt = 0;cnt < 32;++cnt) *pWriteAddr++ = Buff[cnt]; FLMCR.BIT.PSU = 1; Wait10u(5); FLMCR.BIT.P = 1; Wait10u((RtyCnt < 5) ? 16 : 50); FLMCR.BIT.P = 0; Wait10u(2); FLMCR.BIT.PSU = 0; Wait10u(2); FLMCR.BIT.PV = 1; Wait10u(2);
>>139 ありがとう。そのへんはほとんど同じだった
ただRAMにコピーした関数の中に
絶対ジャンプ命令がコンパイルされて入っていたのなorz
関数のリターンが共通化されてたというわけだ
最近は最適化技術もいやに優れてるから
H8みたいな枯れたCPUはきちんとオプション外さないと、思ったように動かんねえ
GCCだとリンカがリロケートを担当するからリンカスクリプトにROMからRAMに 転送するセクションとして書いておけばそのような問題は発生しないはず、だったような。 使ってるコンパイラはなんですか?
ああその手があったかorz 開発環境はHEWだけど、ROMからRAMに転送するのは データはできたけどコードはどうすりゃいいんだったっけ;;; ちょっとマニュアル調べてくる |ルネサスHP|λ...........
はじめまして。 H8マイコンに関する質問なのですが、 例えば、3つのスイッチを押す順番によって6種類の発光ダイオードを 点灯させるようなプログラムを組むとき、 どのような処理をさせればよいのでしょうか? 順番の組み合わせを認識するような処理を教えて頂きたいです。 どうぞよろしくお願いします。
↑設計費用8万円払えよ
145 :
774ワット発電中さん :2005/12/14(水) 19:52:57 ID:UEfuTHNG
>>143 ここはハード系の板だし。
プログラムの話ならム板やマ板の方が良いかと。
>>143 マジレスすると、3つのスイッチを押す順番によって6種類の発光ダイオードを
点灯させるような処理をすればよい。
SW0,SW1,SW2にそれぞれ値0,1,2を当て、 押す順番の1回目、2回目、3回目にそれぞれ*1,*3,*9の重みを当て、 スイッチの入力を得たら、 3回目入力SWの値*9+2回目入力SWの値*3+1回目入力SWの値*1 を計算して、 テーブル LED0=SW0_SW1_SW2=0*9+1*3+2*1=5 LED1=SW0_SW2_SW1=0*9+2*3+1*1=7 LED2=SW1_SW0_SW2=1*9+0*3+2*1=11 LED3=SW1_SW2_SW0=1*9+2*3+0*1=15 LED4=SW2_SW0_SW1=2*9+0*3+1*1=19 LED5=SW2_SW1_SW0=2*9+1*3+0*1=21 と比較、同じ値があればそのLEDを点灯、 なければ何もしないで終了。 ではダメでしょうか。
↑掛け算が無駄
>>145 発光ダイオードの点灯のさせ方でなんでム板だ。
ダイナミック点灯方式程度でもハードウェアに絡まないプログラマは知らん。
おまえ電電板で削除依頼繰り返す◆34t8RXA46gじゃないだろうな?
というか、このスレはH8使ったネタならなんでもOKだ。
LEDが0から5種あるとして、 SW0->LED0,LED1 SW1->LED2,LED3 SW2->LED4,LED5 でいいんだろ? SWにはソフトでチャタリング対策して、 あと、 単に6個じゃなくて6種ってことだから ポートで直接On/OffしただけじゃH8が壊れる可能性が あるからオープンドレインなどの電流対策は忘れずに ってとこか? まさかクリスマス用の電飾じゃないよな? あれだと処理は簡単でもよっぽど電流源ちゃんと作らないと
電飾用だったらシーケンサとか使った方が良いかもしれんね。
皆さん、親切にどうもありがとうございます。 電飾用に作るわけではなく、 ただ組み合わせの判断をマイコンでさせたいために スイッチとLEDを利用しようとしています。 自由研究のようなショボいものですが自分だけではできませんでした。 147さんや150さんのようなやり方でやってみようと思います。
>>149 つーか
>>143 の質問を見るにシーケンス的な内容に見えるべ。
俺もム板向きだと思うよ。
そうじゃなきゃもっと要素的なものだけに的を絞って質問すべきだ。
「LEDはどうやって点灯させるのですか?」ぐらいだったら、誰か親
切な奴が懇切丁寧に教えるかも知れん(俺は嫌だが)。
ついでに
>>153 君の質問は要素が多すぎるんだよ。おそらく
> 147さんや150さんのようなやり方でやってみようと思います。
とか書いてるけど、147見ても150見ても君の課題は解決しな
いだろう。
LEDは点等できるのか?
スイッチの状態はリードできるのか?
言語は何なのか?(アルゴリズムだけなら関係ないかも知れんが)
自分で石買ってきて適当にLEDとスイッチを半田付けしたのか?
それともどっかのキット買って来たのか?
キットの場合サンプルは動いたのか?
など、回答者が答えやすい情報を順序良く提示しないと、君の欲
しい回答は絶対に得られないぞ。
お前ら釣られすぎ
157 :
1 :2005/12/16(金) 14:17:21 ID:gjzV1hvp
>>154 別にLED点灯はH8に限った話じゃないが、質問者はH8を使ってやりたいといってる訳だから、
この板でやってまったく問題ない。M3X使いたいなら外へ行ってくれというつもりで
この板を立てたが、もし、相手にしたくないならわざわざレスつけるなよ。
こういう内容ならあっちへ行けとかここへ行けとか、自分がわからないという理由で親切心から言うならいざ知らず。
面倒だからと外板へ振って、しかも2レスも使うぐらいなら、初心者が悩みそうなポイントを
類推してアドバイスしてやったらどうだ。
繰り返しになるが、アドバイスするのが嫌ならレスをつけてやるな。
158 :
1 :2005/12/16(金) 14:29:48 ID:gjzV1hvp
>>153 わからないことがあれば俺ができる限り答えさせてもらう。
遠慮なく書いてくれ。恐らく俺程度の低スキルでも答えられる内容だと思う。
不適当な回答なら、親切な他の人が訂正してくれるはずだ。
↑まずはお前が懇切丁寧な回答をつけてみろ
ID:7qedE7pP 必死だなw
162 :
774ワット発電中さん :2005/12/18(日) 22:05:03 ID:tW4LF+xW
3664をつかっているのですが、割り込みを使ったプログラムを試しています。 割り込みルーチンにスイッチ文を入れ、ジャンプ先のルーチンをwhileで無限ループにしています。 そこで割り込みが入れば割り込みルーチンに戻ると思うのですが、無限から抜けません。 無限ループ内でも割り込みが入れば抜けるのでしょうか。
多重割り込みハンドラが必要かなぁ?
割り込みルーチンに入ったところで割り込み許可してる? 割り込みが入るのは命令の切れ目だから無限ループでも入るはず。 もしこれなら、古典的なミスだよね。
165 :
162 :2005/12/18(日) 23:34:12 ID:tW4LF+xW
ttp://0n0.fc2web.com/h83664/irq/irq01.html ここを参考にやってみました。
割り込みルーチンは
void int_irq2(void)
{
DI;
IRR1.BIT.IRRI2=0;
IENR1.BIT.IEN2=0;
IO.PDR5.BIT.B0=0; /* P50を0に */
IENR1.BIT.IEN2=1; /* IRQ2割込み許可 */
EI;
この下にスイッチ文です。
これで許可になっていると思いますが、どうでしょうか。
コンパイラ何使ってるかしらないけど #pragma interrupt とかいらないのかなあ
167 :
162 :2005/12/19(月) 07:35:28 ID:YWTBBtj+
GCC Developer Lite 使ってます
168 :
153 :2005/12/19(月) 10:25:34 ID:4/+c9ADF
最初の質問で、「順番を認識するような処理を教えて頂きたいのですが」 と書きました。 LEDの点灯のさせ方や、スイッチのリードの仕方などは分かります。 自分ではアルゴリズムについて質問したつもりだったのですが… 質問が曖昧だったので混乱させたことを謝罪いたします。
>>165 それって割込ルーチンだよね。
まず割り込みルーチンの中で自分自身の割込許可することが間違い。
それからスイッチ文から無限ループに飛ぶと書いてたけど
割り込みルーチンの入り口で自分自身への割込を許可して
無限ループに飛び込むようなことをしたらスタックオーバフローで
確実に飛んでしまいます。
まず割り込み処理とはどのようなものかをもう一度勉強する必要がありそう。
>>168 で、147や150の意見で完成したのか?
まず割り込み要因消さなくては、許可したとたんに、、、
172 :
153 :2005/12/20(火) 14:18:22 ID:W2hamsSI
できました! 掛け算が無駄と言われていたのも プログラムを作っているときにわかりました。 今は、組み合わせの個数を増やすのと LEDの点灯ではなく、LCDにどの組み合わせかを表示させるものを作っています。 皆さんどうもありがとうございました。
>>162 つNMI
・・・冗談はともかく、割込み内で無限ループはやめませう;
>>169 が言うようにスタックオーバーで死んでるんじゃないのか?
最近はCPUも速度がいいのが増えたし、
大体のデバイスにDMAコントローラがくっついてるから
仕事でも多重割込なんか使うこと少なくなったなあ。
つか多重割込み使ったソースは見たくもないw
>>173 多重割り込みするよりも、割り込みでイベント発生させて、
メインルーチンで処理させる方が多いのは確かだね。
162のような使い方は、リアルタイムOS上でのプログラム
を意識してるのかなとオレは思ったよ。
>>173 >つか多重割込み使ったソースは見たくもないw
いや見るだけならいいんだよ。頑張ってね、で済むから。
問題はそれをデバックさせられる時、協力を要請された時なんだよ。
SH7770で安いボードは出ないのかな。 Linuxが動けばうれすい。
178 :
774ワット発電中さん :2006/01/25(水) 02:29:27 ID:Ui2Ig2r8
h8/3048に組み込むプログラムをinsightというデバッガでデバックしてるのですが、 ifとかの分岐点で特定のポートのbit値を変えたりしていろいろ確かめたいんですけど方法がわかりません あとレジスタの値も変えたいんですが、レジスタのウィンドウのどれに対応してるのかわかりません (r0とかspとかなってるやつです) うまく説明できてなくてわかりにくいとは思いますが、参考になるサイトか方法を教えていただけないでしょうか よろしくお願いします
179 :
↑ :2006/01/25(水) 02:30:34 ID:Ui2Ig2r8
sage忘れましたすいません
180 :
774ワット発電中さん :2006/01/25(水) 20:31:15 ID:KG/63aaL
>>143 スイッチの種別を SW1=01, SW2=10, SW3=11 の様に2ビットで表すとする。
1バイトの変数 a を用意して最初は 0にしておく。
どれかのスイッチが押されたら a を2ビット上位にシフトして bit1,0 に
押されたスイッチの値をセットする。
bit5,4 が 00 でなければ 3回押されたのが解る。
bit7,6 をマスクして a の値を判断すれば良い
SW1 → SW2 → SW3 なら a = 00011011
SW3 → SW1 → SW2 なら a = 00110110 の様になる。
ていうか、初心者には素直に状態遷移を教えた方がいいよ。
182 :
774ワット発電中さん :2006/01/29(日) 10:25:11 ID:iVxwW9Zj
>>180 初心者向きには
スイッチに1,2,3と番号を割り当てる。
プログラムで
スイッチ入力バッファを空にする。
スイッチが押されるとバッファに代入し次のバッファにポインタを移す。
ポインタが3回分をしめしたらループ脱出。
スイッチの順番を変数に吐き出す。
switch-caseで
111 112 113・・・・と場合分けして処理する。
というほうがいい気がするけど
もちろんアセンブラなら180みたいな方法使うほうがいいにきまってる。
学習っぽいやり方もありなんじゃないかな。 毎回、過去数回分の入力パターンで行列を作る。 用意してある数種類の判定用パターンと積をとる。 結果のうち相関度×重要度の一番大きいパターンを選び、 対応させてある出力を実施。 (間違った出力があれば、できるだけ早めに調教師が鞭SWを入力。 正解なら飴SWを入力) 鞭を入れられたら、最近使用した判定用パターンの重要度を低めに修正。 飴が与えられたら高めに修正。 若いうちは試行錯誤のために毎回新たに判定用パターンと対応する出力と重要度を ランダムに作成して追加。 老いたら新規作成は中止、重要度の修正も停止。 注:()内はマイコンの処理ではなく調教師の行動。 自分で書いててわけわからん。もっと勉強します。
難しいことを考えず、入力と出力のパターンをテーブルでもって変換。 シンプルな方が頑丈なコードになる。
185 :
774ワット発電中さん :2006/01/30(月) 10:07:22 ID:NSLSvXSr
>>186 LCDC内蔵ということは画面付いてる機械だろう。
PDAくらい作れそうだが。
しかし…ARMと喧嘩するつもりか?
188 :
774ワット発電中さん :2006/01/31(火) 01:24:49 ID:FvdecOXt
>>186 ぱちんこ・パチスロ用に某メーカが採用を検討中。
>アミューズメント機器やカーナビゲーション機器(以下、カーナビ)などの高性能マルチメディアシステム向けに
そこで漏貧SHですよ!
>>188 AG2並の機能でもあったら使ってやるが、どうせ共有VRAMの糞トロイQ2並だろ
ってか高ぇサブサブ基盤なんぞいらね
>>186 2、3ヶ月前からルネサスのサイトにアクセス出来ないんだけど、なんでだろ?俺だけ?
>193 旧三菱or旧日立のサイトのURLに飛ぼうとしてるとか?
195 :
193 :2006/02/02(木) 20:23:17 ID:fhJmY48J
ついでにネタを、 1月に使い古しの秋月のH8/3069ボードと余っていた2.5インチのハードディスクでMP3プレイヤーを 作って見たんだけど、これが結構いい音(自分にとってはですが)で、そんで調子に乗って 携帯型のMP3プレイヤーを作ってみようと思って検索していたら、トラ技のおまけのR8Cで 携帯型MP3プレイヤーを作っていた強者がいた。
>195 会社にも1台ある。 Windows2000のMebius しばらくほっておくと忘れた頃に見えていることがある。 でも同じLANにある WindowsXPのパソコンは問題なく見れる。 自宅のWindows2000の中古のフローラとかDELLも大丈夫。 なんかの加減かと思うけどよっくわからないのさ。 Windowsだからしょうがないっておもってるのさ。
198 :
195 :2006/02/02(木) 23:14:22 ID:fhJmY48J
>>197 あっ、書くの忘れましたが俺のもWindows2000です。
今度ノートパソコンで試してみます。ノートもWin2000だけど、アップデートとか何にもしてないから見れるかも。
>>196 個人的には、3069でMDX+PCM8プレイヤーの方がすごいと思った。
>>198 当方Win2kで何の問題もなし。
200 :
195 :2006/02/03(金) 08:20:04 ID:NpIsZl58
ノートでもダメでした。
>>199 MDXとかよく知りませんが、自分のもR8Cの方も、VS1001Kという既存のデコーダチップを
使用しています。すごい簡単にできました。きっとストロベリーリナックスとか見ているだろう
から知っている人も多いと思いますが。
なんだソフトデコードじゃないのか。 そしてMDX+PCM8を知らないなんて、すごく若いんだね。
ざんねんながら、若くなくても知ってる奴は限られてると思うぞ。
203 :
774ワット発電中さん :2006/02/05(日) 12:03:40 ID:cTrSu0Wi
知ってるおいらはもう若くないってことか.....orz
205 :
774ワット発電中さん :2006/02/08(水) 22:49:24 ID:OZqediCC
誘導されてやってきました、すいませんが質問させてください H8にプログラムを書き込めなくなりました FLASHってソフト(秋月のキットについてたやつです)で motファイル書き込んでたんですが制御プログラムの転送が終わるとDEVICE ERRORってなってしまいます 設定とかは変えたりしてないです、気づいた点があれば指摘してください マイコン自体壊れてないことを祈ってますが…
>205 何回かいた?
H8 Smalihgt買ってみた
>>206 書き込み回数でいってしまうのは考えづらい。保障回数数は
余裕で行けるはず。
ツールの誤動作?PC再起動してみよ
電源が電池で電圧不足とか。
>>208 保障って言っても100回くらいじゃなかったっけ。
異常に少なかった印象があるけど。
213 :
205 :2006/02/08(水) 23:40:15 ID:OZqediCC
レスくれた皆さんありがとうございます
>>208 さんの言う通りPC再起動するとうまくいきました!!
>>206 >>212 書き込み回数は100まで保証だったかと、今多分30回くらいです。
これって誤作動しやすいんですかね?よくFILE NOT FOUNDってエラーもでるんですよね
214 :
774ワット発電中さん :2006/02/09(木) 01:00:18 ID:x0K0BUsB
HD6412373Rがほしいんですけどどっかにありませんかね。
>209 10マン出したのか!?
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
206 名前: :2006/02/08(水) 23:05:34 ID:Yy93hma8 ←
>205
何回かいた?
207 名前: :2006/02/08(水) 23:07:50 ID:Yy93hma8 ←
H8 Smalihgt買ってみた
208 名前: :2006/02/08(水) 23:10:40 ID:Yy93hma8 ←
>>206 書き込み回数でいってしまうのは考えづらい。保障回数数は
余裕で行けるはず。
ツールの誤動作?PC再起動してみよ
209 名前: :2006/02/08(水) 23:14:58 ID:Yy93hma8 ←
>>207 どう?
>>207 俺もSmalightOS買ってみた。
とりあえず、NORTi for YellowCを実装したH8 sourceからの移植。
HEWを使わず makeでbuildしているので カスタマイズ等メンドクサイ。
とりあえず 速そう and ROM/RAM食わねぇ でいい。
偶然すげー ハゲそう
219 :
217 :2006/02/09(木) 11:59:07 ID:hp1vouip
追伸: dly_tsk()はないので、twai_flg()のタイムアウトを利用して手実装した
220 :
774ワット発電中さん :2006/03/10(金) 01:41:15 ID:qAokPTrJ
hosyu
シルク印刷でも広告代とってるんでしょうねw
226 :
774ワット発電中さん :2006/04/02(日) 19:43:00 ID:3aarYEGm
age
SH2搭載基板の一般的な値段を考えると暴力的に安い気がするが 現実的な拡張性はどうなんだろう
外部バスも出てるぽいので、親亀作れば なんでもありじゃないかい。 DWMみたいにへんな罠がなければいいが。
>>227 いままでのH8、R8、ARMで何も出来なかった奴は
今度のSHでも同じ結末になると思われ。
CyclonとXS50も入れてくれ
>>230 「高橋はるみのプログラミングレッスン」は完全にマスターした僕には
活用出来ますでしょうか?
235 :
774ワット発電中さん :2006/04/12(水) 17:50:07 ID:PuOmPmIv
安くしてる代わりに、基板に設計上のバグを 意図的に1つ以上入れることが条件となっている。 そうでなきゃ、それで商売してる会社が困るから。 中小弱小技術者と共に歩む出版社だからな。
236 :
774ワット発電中さん :2006/04/13(木) 00:12:33 ID:z+vESWlt
付録にボードを付けて、その記事を連載すれば年間通しての 総発行部数が上がったんでないかい? トラ技'04.4号のH8でその実績があってさー。 DWもしかり、そして今年はInterfaceにまでその道を歩むことになった んだろうなぁ、って思っている。
>>236 '04の実績とは、相撲ライトのことでつか
>>236 安易に二匹目のドジョウを狙ってきてるってことは
雑誌としての魅力を磨く努力を怠ってるわけだな
だから基板にバグを入れることで話題を作ってるわけです。
スモウライダー
実践で技能を磨くために動かせるものを提供する、って考えて見ろよ。 人材育成教育に貢献するって。 あほな意見ばっか。
>実践で技能を磨くために動かせるものを提供する 「作らせる」ならわかるが 「提供する」は逆効果だと思うけどなぁ
>240 相撲ライダーで期待を抱かせておいて、優ちゃん先生でこけてしまったからな。 相撲ライダーの最新版とやらをまた機能制限付で付録にしてくれないかな。
そんときゃまた優ちゃんが帰ってきてくれるさ...
245 :
774ワット発電中さん :2006/04/19(水) 19:49:59 ID:8Jj7YlCm
初めてこの板を訪れるもので失礼します。 私も4月から会社の研修で「H8-3048Fone」を使っていますが、 頻繁にコンパイル時にエラーが発生します。 現在では文字を1文字ずつ送受信して、最後にハイパーターミナルに出す プログラムを作成していますが、その中でも多数のエラーが発生しました。 どうしても直せない・わからないエラーメッセージは、 「Cannot convert parameter:"1"」 「Type not compartible」 「Argument mismatch」の3つです。 ちなみに「Cannot」は(sci_tx・sci_rx)でデータを送受信する部分をつくると、 「Type」はSCIのTDR・RDRにデータを代入したとき、 「Argument」は文字列をPCに送信するときに(「Cannot」と同時に)発生します。 以下に実際に発生した文の例を書きます。 「sci_tx_str(P9,tx_data);」…「Cannot」「Argument」(P9はポート番号、tx_dataはchar型です) 「SCI0.RDR = tx_data;」…「Type」 ちなみに通信手段はRS232Cで、「SCI0.RDR」や「sci_tx_str」はヘッダで定義された関数(役割は命令)です。
246 :
774ワット発電中さん :2006/04/19(水) 20:28:37 ID:2a0k/ZxG
「Cannot convert parameter:"1"」 引数の型が合っていない 「Type not compartible」 変数代入で型が合っていない (自動変換で安全でない範囲) 「Argument mismatch」の3つです。 後述 いずれも、関数の型宣言をしてないからと思われる。 .hファイル等で宣言をし、呼び元ファイルでそれを#includeするべし。 あと、ポインタ変数と数値変数の代入を混在していないか?
>245 会社の研修でやってんだったら、まずは研修の講師に聞けよ馬鹿。死ね!
KPITのHEW+GNUH8+GDBH8という環境で躓いています。 シミュレータでプログラムの動きを見ていると 初期値あり変数の初期化がうまくできません。 モジュールをロードした時点でRAM領域のdataセクションに初期値が入っていて ステップ送りしていくと初期化ルーチンで初期値が壊れてしまいます。 (ROM領域から無意味なデータがコピーされる) HEWでワークスペースを作ったときにできるサンプルでもなります。 どうにかして初期値をROM領域に置けないでしょうか。 それともシミュレータでは最初にmainにジャンプするのが普通なのでしょうか。
サンプルのmain.cだけ貼っておきます。 string[]の初期値"hello world"がRAM領域に入ってしまうんです。 #include "iodefine.h" unsigned char string[] = "hello world"; int count; int main (void) { for (count=0; count<12; count++) string[count] = 'a' + (unsigned char) count; return (0); }
なにやらFAQに書いてあるのを見つけました 読んでみます
C言語なんて捨てちまえ。
捨てらんねぇよ オラ、人様から金とれるプログラム言語、Cしかねぇんだ 他はダメだ。ぜんぶアマグラマーだ。
>>249 gdbのシミュレータなら.dataは最初からvmaにいるので、
自分で転送する必要は無い。
255 :
774ワット発電中さん :2006/04/20(木) 12:10:54 ID:JCW0MEPk
>>245 の修正を今日行いました。
ポート番号はp9などと書きましたが、どうもchar型で1文字しか指定できないようです。
番号か文字1字を書けばよいと思いますが、どの番号を書けばよいかわかりません。
これはh8のsci.hにsci_tx(unsigned char port,・・)と載っています。
それ以上に、「Type not compatible」は解決できません。
左辺と右辺を逆にしても解決せず、それどころか別のエラーも出ます。
TDR・RDRにはunsigned char型は格納できる筈ですが…。
ちなみに講師はいないです。
よくわかんね
>255 お前は本当に救いようのない馬鹿だな。講師がいなければ研修を指示したやつに聞けよ。 今すぐに回線切って首吊って死ね!
>>255 根本がまだ...みたいやね。
renesasのHomePage行って、幾つかサンプルコードを落として見れ。
参考になる。
> 左辺と右辺を逆にしても解決せず まずC言語を勉強した方がいい。 学校で習わんかったのか?
>259 初めてのCは隣のお姉さんに教わりました♪ それ以来、Cはずっと独習です.....orz
SH-3のリセット処理を作成する際、HEWでできる雛型はアセンブラですが
それをCで作成しようとしたところうまくいきません。
とりあえず、
typedef void ((*P_FUNC))();
(*(P_FUNC)(ベクタテーブルの先頭アドレス+(INTC.EXPEVT
>>3 )))();
としましたが、なぜかうまくいかず、アセンブラをみたところ、
INTC.EXPEVT
>>3 の個所で
SHLR2
SHLR
SHLL2
と、なぜか右へ3ビットシフト後左へ2ビットシフトされるのです。
何が原因でしょうか?
あとSH-3のリセット処理はやはりアセンブラにすべきでしょうか?
C言語って、プログラムの本質以外のとこで悩む事が多いから好きになれない。
>>261 みたいに、やるべき処理が分かっているのに、それがストレートに意図しない動作を引き起こすなんて、
もはや害悪でしかないんじゃないの?
俺はC言語をあんまり知らないし、ましてや関数型のキャストなんて理解すらしてないんだけど、
きっと
>>261 のコードが動作するためには、きっと本質ではない何らかの工夫が必要なんだろう。
>>261 INTC.EXPEVTが32ビット長だからだろ。
間違えた。 「ベクタテーブルの先頭アドレス」の型が32ビット長へのポインタだからだろ。
265 :
774ワット発電中さん :2006/04/20(木) 20:01:27 ID:oOeMjUdO
266 :
249 :2006/04/20(木) 20:04:27 ID:/yl4PMWA
>>254 おっしゃる通りでした。
さらにFAQを読むとS-recordをロードしてからELF/COFFをロードすれば
初期化ルーチンで初期値がコピーされるらしく、
試してみたらうまくコピーされました。
ついでに、
>>255 3048はSCIの送受信端子がポート9と共用になってるけど
ものすごいところから勘違いしてそう。
>>261 スタックポインタとBSCの初期化まではアセンブラにするしかない気がする。
267 :
261 :2006/04/20(木) 20:36:55 ID:Xc0/ztIA
皆様、ご協力ありがとうございます。
とりあえず、私が無学ゆえ、原因はいまいちマダわかっておりませんが
ベクタテーブルがvoid * でしたので(long)にキャストして
(*(P_FUNC)((long)ベクタテーブルの先頭アドレス+(INTC.EXPEVT
>>3 )))();
としたところうまくいきました。
・・・・・・?
>266
とりあえず、スタックの設定は環境依存になりますが
#pragma entry 関数名(sp = スタックエンドポイント)
とすることで何とかなります。
BSCもCで何とかなる・・・と私は思っておりますが・・・はたして・・・
Cにこだわるのは、ただ単に今後他人がソースを見る際にアセンブラよりわかりやすいかな?
ということです。
ただ、電源投入時の処理のソースを見る人なんてそもそもある程度アセンブラ知ってる人
ですし、アセンブラの処理自体難しくはないんですよね。
コメントつければある程度わかりやすいし。
でも、あえてCで初期化処理を作成しています。
doxygenでドキュメント化したいし(アセンブラは対応していないようですし)
え? HEWのコンパイラってvoid *のスケーリングが4なんだ。 gccだと1だからハマるね。
>268 それ sizeof(void) だから。 sizeof(void *)やsizeof(void *(*)())とかと違う。
>>261 で左シフトが入るのはHEWではsizeof(void)が4だからでしょ。
sizeof(void *)やsizeof(void *(*)())は関係ない。
こんなことになってた今でもぬけぬけと 「ソースを見る際にアセンブラよりわかりやすい」 と言い切れる神経が理解できない。 自分でも分かってないじゃないの。 あと気になったんだけど、H8マニュアルに明記してあるのだが、 スタックポインタの設定は、リセットベクタでジャンプしたそのアドレスで、 mov.l #(address),sp のイミディエイト代入で行う必要があり、それ以外のコードは実行してはならないのだが、 それってCで保証できる?
271はいまさら何を言ってるんだい
数レス上へのツッコミに対して「今更」とは奇怪な。
>>271 *絶対に* NMIが発生しないのであれば、直後でなくても問題なかろう。
かなり気持ち悪いが。
>>273 SHの話にH8が出てきたから話がつながんないとか。
データシートをよく読みませう。 コンパイラが吐くコードをよく見ませう。
276 :
774ワット発電中さん :2006/04/24(月) 15:04:34 ID:bjiLuCVW
オォッェ ---(吐いたコード)--- nop nop nop nop rts
オォッェ ---(吐いたコード)--- <PSE>
リード モデファイ ライト or ライト モデファイ リード (そんなのあったっけ?)
279 :
774ワット発電中さん :2006/04/25(火) 04:00:39 ID:iJFYP9MZ
かの6809は、リセット後スタックへのロード命令が実行されるまでNMIが 効かない仕様になっていたはずだが、さすがルネサス。
>>279 それはそれで困る
やはりスタックポインタの初期値をベクタから自動で読み込む
68000方式がスマートだなああ。
>>280 68000方式だと、「起動直後だけ$00000000番地がROMになる」
というロジックが必要なので、若干回路規模が大きくなるという
問題があるけどね。どれが一番いいのかねぇ。
そのへんは実行中にベクタテーブル書き換える必要が無ければ、 常に頭の方がROMでいいんでは。 とりあえず、割り込みで参照されるレジスタの初期値が不定つーのは美しくないので、 勝手に読んで初期設定してくれるのが一番だと思いますな。
283 :
774ワット発電中さん :2006/04/25(火) 18:39:33 ID:MbuTXYHa
VBR (Vector Base Register) があるマイコンなら そいでイイよね
284 :
774ワット発電中さん :2006/04/25(火) 19:36:59 ID:CuuiYw6M
最後の一冊なんとかGET
色々サンプルコード見たけど SH3の例外処理のコードって色々ですね。 やってることは同じだと思うけど微妙に違うような気もするし。 (あとCで記述してあるコードもありました) あとTrapaテーブルってSH2のときベクタテーブルの中に書いてあったけど(HI-SH7のばあい) SH3だとベクタテーブルとTRAPAテーブルを別にしてるけどなんで?
286 :
774ワット発電中さん :2006/04/26(水) 08:35:27 ID:BOuOM404
>>285 ヒント: EXPEVT, INTEVT, TRA レジスタ
287 :
774ワット発電中さん :2006/04/26(水) 23:35:23 ID:VhFnU+sw
>285 TRAPAテーブルとベクタテーブルを別に分ける必要もないし、一緒にする必要もない。好みの問題。 まず、EXPEVTの中身を見て0x160ならTRAPAになるわけだが、 その後、TRAの中身を参照し、分岐するわけだがそのテーブルがベクターテーブルとかぶっていても いいし、別に分けてもいいし好みによる。(SH2は一緒になっているわけだが) あとC言語で記述してるサンプルってセクションをそれぞれVBRに設定するであろう 値から0x100なり0x400なり0x600なり加算してセクション切ってるのか? まあ、そうするなら全部C言語でかけるよな・・・
288 :
774ワット発電中さん :2006/04/28(金) 12:48:20 ID:UPXloPli
さて、インターフェース付録を反面教師に、SH2マイコン基板の設計ガイド 基板サイズ:ヘッダピンの間隔は14列(サイクロン、スパルタン基板と同じ) 搭載コネクタ:何れも2.54ピッチで、40ピンヘッダx2 他は適当なピン数で J-TAG用、シリアル用、電源等 適当に 搭載パーツ:プロセッサ、パスコン、LED、タクトスイッチ、オシレータ、メモリ 他必要なロジック(決してPLD等は載せない) シリアルのレベル変換はコネクタがわに載せる。 3.3Vのレギュレータはオンボードにする時代ではない。
CQ付録スレの荒らしUPXloPliがこんな所まで出張ですかw 相手にされないからって大変でつねw
291 :
774ワット発電中さん :2006/04/28(金) 16:23:00 ID:mMfpnRZb
290みたいな香具師ってホントにバカすぎて憐れだな。 お前、公開の掲示板見に来るなよ。
>>289 UPXloPliは2006/04/28(金) 13:40:50の書き込みをするにあたって、
その時間にESP企画のWebサイトを見にいっているので、
ESP企画の中の人がサーバのログをみれば、IPアドレスくらいはわかりますね。
それに、原稿は書いたことないけど批判分(批判文のこと?)は載ったそうですので、
たぶん読者のおたよりコーナーに載ったことはあるのでしょう。
「すっぱいブドウ」「中学時代ネクラ、キモイ」でマジギレします。
293 :
774ワット発電中さん :2006/04/28(金) 16:32:38 ID:mMfpnRZb
非半分? 山崎渉の葉書がのったろ。 IPアドレスがナンボのもんだ? 別に悪い事なんぞこれっぽちのしていない。 292の書きようは、立派な脅迫だぞ。
やっぱりUPXloPli=mMfpnRZbね。 散々暴言吐いた挙句、IPアドレスばれそうで、ガクガクブルブル(゚д゚)とは なさけないね。
295 :
774ワット発電中さん :2006/04/28(金) 17:01:54 ID:kJWJ4frG
294よ 日本語の読み書きくらいしかりやってくれよ。
暴言は別にいいんだが、何に不満を持ってるのかさっぱりわからんな? 何が不満だ?センスが悪いとかは無しな。
297 :
774ワット発電中さん :2006/04/28(金) 17:56:27 ID:3kn3Mb6X
296は289、290への問いかけと判断する。
どうでもいいけど、ID見なくても同じ人物が必死でカキコしてるってのが一目瞭然なのは見苦しい。
>298 競合の組○PRESS出してる出版社の人だったらやだなぁ
300
301 :
774ワット発電中さん :2006/05/02(火) 02:11:07 ID:YRFlk1Ex
インターフェース6月号買っちゃった〜 安いね。 まだ沢山あったから、3冊くらい買っておこっと♪
>>301 おまえは俺かw
でも、店頭で7045が5000円近くで売られているのを見ると、向こうは相当にボッタクリだよなw
でも、半田ごてをいちいち買わないといけないから二の足を踏んでしまう・・・
しばらくしたらオクに出すつもりで20冊ゲット いくらになるかなヒヒヒ
中の人、乙
中の人じゃないが、前のH8みたいに単体売りはないのかな? 自作の回路に組み込んでいてH8のボードが吹っ飛んだ時には焦った。 単体売りされてなきゃ余分に本を買ってストックしなきゃならない。
307 :
774ワット発電中さん :2006/05/02(火) 20:00:24 ID:3Lzxso9L
インターフェース6月号まだあるかな?
308 :
774ワット発電中さん :2006/05/02(火) 20:21:13 ID:N2KliubT
>304 バグ基板だ。売れるわけネーだろ。 ジャンパ飛ばして売るのか? 売れるかもな。
粗探ししてわめいとけばとりあえず満足できる素人は気楽なもんだな。
そんなに素人になりたけりゃなればいいじゃん
I/F付録の不具合一覧&修正方法なページって無いかな? 問題が少なけりゃ、直してつかっちゃうんだけど。
313 :
774ワット発電中さん :2006/05/03(水) 14:38:43 ID:DzLE26jK
つまり30分で設計を終わらせないと人件費が大変なことになる激安キットの些細なミスにマジギレせずに 0.5mmピッチのICの改造ぐらい、わざわざ半田ごてなんて使わずに歯でガリっと改造してつつましく使ってろ素人共 って隣のおじさんが言ってた。
30分だったらいかな高給取でも設計費は無いも同然 まあ0.5mmピッチならピン起こすのも楽ではあるが
317 :
774ワット発電中さん :2006/05/03(水) 23:45:04 ID:BRbuj0Zq
ってか、不具合にちゃちゃ入れている香具師に限って 普段不具合出しまくりなんでしょな。 別にちょちょっと改造すればいいじゃん。 漏れにとってはたいした問題じゃないけどな。
そんなにあの基板の不具合を指摘されることが嫌なのか?
ミス自体が問題なのではないCQ出版の対応が問題なのだ
320 :
774ワット発電中さん :2006/05/04(木) 00:20:52 ID:7/59g5Gg
別にちょちょっと改造すればいいじゃんって言ってる香具師って、普段 から不具合出しまくりで、それが当然と思ってるんでしょな。 まぁ、自分で改造するわけじゃなく、工場に改造指示書ファックスするだけ だから、本人にはたいした問題じゃないんだろうけど。しかも、改造指示書 もさらにミスってるのな。工場のオバちゃんも、あぁ、またあの人チョンボ してるよと呆れられている。 それと、インターフェースのSH2基板が0.5mmピッチに見える香具師って、 いつも0.5mmピッチのパッケージ見慣れてないのかな。ありゃ0.65mmピッチ だろ。
どうりででかいと思った
322 :
315 :2006/05/04(木) 03:23:20 ID:bMTk3ckT
いつも0.5mmだから決め付けちゃった。 ていうか実はまだ現物見てないんだ。 まあ要するに歯を使えって事だ。
SH7144Fは0.65mmピッチ、SH7145Fは32ビットバスが使えてピン数が増えたのに、同じサイズのパッケージに入っているから0.5mmピッチ。 できれば、SH7145Fの方が外バスの時のパフォーマンスが出るのでうれしかったが。 てゆーか、なんでルネサスに勤めているやつが6月号のこと知らなかったんだ?
てか、ルネサスの人なのか?>>歯で
326 :
774ワット発電中さん :2006/05/05(金) 03:19:47 ID:EeHz7Fgz
>同じサイズのパッケージに入っているか ボケ。7145の方が小さいよ。
324は何?SHでのmemset?
>>326 ぼけてるのはあんた。
SH7144Fも、SH7145Fもボディサイズは20x20だぜ。
SH7146Fと勘違いしていないか?
こいつなら確かにパッケージは小さい。
329 :
774ワット発電中さん :2006/05/05(金) 16:49:53 ID:QRnZpiCT
>SH7144Fも、SH7145Fもボディサイズは20x20だぜ。 なんだ、2Dコン野郎か。 SH7144F > SH7145F 微妙にとかいうラベルではない。倍近い。 そして、平面で見ても、フットプリント占有面積は7145の方が一回り小さい。
なんだ、厚さのこと? 機器設計をするなら気にはなるけど、付録じゃ関係ないでしょ。
ピンピッチの話してるのに厚さとかリード長の話されてもな…
詭弁・論旨替えで相手を煙に巻いて、それで議論に勝った気になれるんだから、 たとえそれが一人相撲であったとしても、本人が幸せなら別にいいんじゃない? それを周りで笑われていたとしても、見えなきゃいいわけで。
333 :
774ワット発電中さん :2006/05/05(金) 19:55:30 ID:Ak3f9KJF
大きさといったときに平面サイズ限定にした事を指摘されての逆切れミットモナイ。 そもそもマンコ50で分厚いパッケージがあるとおもってるのが笑える。
電のう氏の人に何かネタ書いて欲しい ↓
やーめーてー
336 :
電脳師 :2006/05/06(土) 02:50:26 ID:cC4H1seG
CQの書籍は二度と買わん。
モード4なんだけど、エリア1のSRAMにアクセスできなくて半日悩んだよ。 オシロで見たら、/CS1 が L に降りなかったんで、ショートを疑ってSRAM外したり、CPU張り替えたりしちゃったよ。 結局、mov.b @200000,R1L て書いちゃったのが原因だった。
十進か
PICアセンブラだったかな。デフォルトが16進になってるの。 10進で書いたと思っているとバグ。
1. MOV R1, @R4+ MOV R1, @R4+ MOV R1, @R4+ MOV R1, @R4+ と 2. MOV R1, @R4 ADD #4, R4 MOV R1, @R4 ADD #4, R4 MOV R1, @R4 ADD #4, R4 MOV R1, @R4 ADD #4, R4 と 3. MOV R1, @R4 MOV R1, @(4, R4) MOV R1, @(8, R4) MOV R1, @(12, R4) ではどれが一番速いでしょうか?
342 :
774ワット発電中さん :2006/05/06(土) 23:06:59 ID:2JR0OKhf
RTOS使わないの?
なに載せれるんだろう。HOSとREALiぐらいかな? MESはどうも、RAM1Mぐらいを前提にしているらしいのでアウトっぽい。 ToppersとかLinuxはよくわからんけど。
ただで使えるのはいいんだけどHOSってバグ多くね? 直すだけの根性が無い俺が言うのもなんだけど。
>>340 1ってできたっけ?
H8/300じゃ出来ないけど、他のコアは分からない。680x0では出来る。
>1. >MOV R1, @R4+ >MOV R1, @R4+ >MOV R1, @R4+ >MOV R1, @R4+ >と >2. >MOV R1, @R4 >ADD #4, R4 >MOV R1, @R4 >ADD #4, R4 >MOV R1, @R4 >ADD #4, R4 >MOV R1, @R4 >ADD #4, R4 >と >3. >MOV R1, @R4 >MOV R1, @(4, R4) >MOV R1, @(8, R4) >MOV R1, @(12, R4) >ではどれが一番速いでしょうか? このうち1は 1. MOV R1, @-R4 MOV R1, @-R4 MOV R1, @-R4 MOV R1, @-R4 じゃないの?@+R4が使えるのは MOV @+R4, R1 みたいな時だけだと思う>SHでは
結果として1か3のどっちかが速いと思うがおれではわからん。すまん
>>344 じゃあ、せめて開発者にそのバグを教えてやればいい。
それでバグが減るかもしれん。減らないかもしれないが。
>>346 +R4はH8でもSHでも680x0でもできない。ポストインクリメント(R4+)のみ。
>349 すみません、勘違いしてました。 @R4+の間違いです。 ただ単に MOV R1, @R4+ はSHにはなく MOV @R4+, R1 なら使えるよってことがいいたかったわけです、 すみません。
色々試しましたところ、 メモリをクリア&確認する際に 1. アドレスに0をセット 0になってるかORしてチェック アドレスを加算 以下サイズ分ループ 2. アドレス+サイズを算出(終了アドレス+1) アドレスを減算 アドレスに0をセット 0になってるかORしてチェック 以下サイズ分ループ 1と2で、やってることは似たようなもののはずなのに(ただ単にアドレスを加算してるか減算しているかの違いぐらい) なぜか処理速度(サイクル数)が異なってました。 原因として何が考えられますか?
あと、プリデクリメントとポストインクリメントは所要サイクルが違うかも。 680x0ではそうだった。
ちょっと教えて下さい。 H8SやH8SXで広く使われていて個人でも入手性が良いデバイスってどれでしょうか?
秋月やマルツはH8SもH8SXも扱ってないでしょ
H8SEXしたい
>>354 処理能力にもよるんじゃ?
高性能な奴がほしかったら、digikeyでH8S/2600系のHD64F2633RTE28じゃね。
スタンダートといっても2300系な2350(ROM無し)も今更だし。
#R無しの2633TEは2電源必要で25MHzな上にRTEより高価…
H8SXだとH8SX/1600系なR5F61653N50FTVとか。
digikeyでも在庫が0から増えないけど(w
みんなで注文すりゃ増えんじゃね?
2633大人気だな。
今3068Fにモニタ兼用でtinyForthを動かそうとしてるんだが、
調べ物してたら8ビットでも動くcontikiOSというのを見つけた。
TCP/IP(uIP)スタックも30kBほどの使用メモリ増で乗せられるみたいだ。
H8/300くらいのコントローラならuClinuxとかeCosよりもこれくらいの
ちっさい方がいいかもな。
http://www.sics.se/~adam/contiki/index.html ちなみにportリストにPC-6001があって笑えたw
361 :
マイニー :2006/06/10(土) 22:34:11 ID:yl/pIsC+
以下のことで教えていただけないでしょうか。よろしくお願いします。 H8/Tiny にMONYTOR.MOTをダウンロードして、HTERMで セッションを開くってやったんですけど、「プログラムからの応答がありません」ってなりました。 通信速度は19200に設定しています。 PCはウインドウズ XPです。RS232Cで接続しています。 秋月電子通商から開発キットを購入しました。
H8のモニターって全部38400BPSじゃなかったっけ? あと、H8/Tinyといえど、3664と3694だとクロック違うから、 MONITOR.MOTはそれ用を焼く必要があるが、その辺りは大丈夫か? 他には......HTERMのシリアル設定は接続してるCOMポート になってるかをちゃんと確認した方がいいと思われるな。
363 :
マイニー :2006/06/10(土) 23:06:54 ID:yl/pIsC+
H8/Tinyといえど、3664と3694だとクロック違うから、 MONITOR.MOTはそれ用を焼く必要があるが、その辺りは大丈夫か? 3694です。ありがとうございます。3694用のMONITOR.MOTは無いわけですね。
364 :
マイニー :2006/06/10(土) 23:27:06 ID:yl/pIsC+
HTERMのファイルのプロパティで、通信速度を19200に設定しましたらタイニーと通信できました。 以下の表示がタイニーから返ってきました。ありがとうございます。 H8/3694 Series Normal Mod} Monitor Ver. 2.0B Copyright (C) 2003 Renesas Technology Corp. :
365 :
マイニー :2006/06/10(土) 23:33:35 ID:yl/pIsC+
: ? Monitor Vector 0000 - 003F Monitor ROM 0100 - 4B15 Monitor RAM F780 - F83F User Vector F840 - F87F . : Changes contents of H8/300H registers. A : Assembles source sentences from the keyboard. B : Sets or displays or clear breakpoint(s). D : Displays memory contents. DA : Disassembles memory contents. F : Fills specified memory range with data. G : Executes real-time emulation. H8 : Displays contents of H8/3694 peripheral registers. L : Loads user program into memory from host system. M : Changes memory contents. R : Displays contents of H8/300H registers. S : Executes single emulation(s) and displays instruction and registers. : こんな感じです。さっぱりわかりませんけど。
>>363 他レスの引用は行頭に">"などの追加をお願いします
>>365 >こんな感じです。さっぱりわかりませんけど。
Htermのメニューのヘルプ→トピックの検索にも少し説明があります
超初心者です。H8 とか SH2 で浮動小数点演算はできるのでしょうか? (単・倍) 速さは期待していませんが、何か目安となるレポートなどはありませんでしょうか?
newlib使えばlibc,libmで浮動小数点の演算はできるよ H8 + newlibでググルといいよ
>>367 ハードウェアではサポートしていません。
浮動小数点演算機能は高価なハードウェアです。
>>370 ありがとう。でも、オレが買った最初の「パソコン」にさえも浮動小数点ハードウェアは
あったはず。(MMX Pentium 166MHz と書いてある。今は使ってないけどね。)
間違ってるかな。
H8じゃパソコンと比べちゃ荷が重過ぎます
373 :
774ワット発電中さん :2006/06/13(火) 07:21:13 ID:8Mvsupul
>>371 パソコンだって80368の時代までは
浮動少数ユニットは高価なオプションだったよ。
8ビットパソコンのBASICにも浮動小数点演算はあったんだ。
変数名の後ろに#か何かつけると、浮動小数点変数扱いになっていたような記憶がかすかに残っている。 N-BASICの時代のお話。
それってハードじゃなくてソフトで浮動小数点演算してたんじゃない?
ハードがないと浮動小数点演算が出来ないと勘違いしてる奴がいるだろw
>>368-369 を見てないんだろうか
>>370 が勘違いしてハードウェア演算機能ないよと
言ってる時点からズレ始めたように見えるだがw
>>376 #は倍精度の時だったような希ガス
>>367 です。
実は、組み込み機器の CPU を選択中で、H8 か SH2 かで迷っているのです。
浮動小数点演算は、テスト用に使うでしょうね。
実物では、固定小数点演算で済ませたい意向はあります。
何か、FFT とか FIR での性能比較とか、ありませんでしょうか。
>>378 何が機種判断の軸になってるのかわからんが
H8,SH2の比較で演算速度重視ならSH2
おまいさんの都合に合うような比較があるかどうか知らんけどな
まずはそのキーワードだけでもググレ。数十件ヒットするはずだ。
>>378 演算の速度比較なら比べるまでも無い
乗算なんか所要クロック数で数倍違う。
SH2はパイプライン持ってるのよ。
それでもSH2でチミの仕様を満たすかどうか知らんが。。。
SH2で駄目ならH8じゃ絶対駄目
H8/SH2の比較でH8を使うメリットは省電力か否かだけ
これがH8の最大のメリット。つーか漏れがH8を捨てられない理由だけど。
あと千単位で量産するなら価格ぐらいかな
いっそパソコンを丸ごと埋め込んで………(略
>>377 事実、ハードウェアで浮動小数点演算をサポートしていないので、
ソフトウェアで実現するしかなく、
(ハードウェアでできる演算は基本的にはすべてソフトウェアでも実現可能なのだが)
一般的に非常に遅い代物が出来上がる。
だから、ソフトウェアを書くときは浮動小数点演算はなるべく避けて、
整数での演算で同様の機能性を実現できるように書き直すべきだ、
と思う。
また、組み込み系ではそういうテクニックは必須なんだ。
384 :
774ワット発電中さん :2006/06/13(火) 21:11:25 ID:LN4ZMljU
H8を学び始めたばかりの初心者です。 メモリマップで絶対アドレス8ビット、とか絶対アドレス16ビットとか ありますが、これはどういう意味でしょうか? たとえば、モード7で@01:8といった場合、H'FFF01番地を指すということ でしょうか? こういうところをわからずに、モード7でかんたんなプログラムを組んでも ちゃんと動いていたのですが、これから学んで行く上で、正確な理解を しておきたいので、思い切って、聞いてみました。どなたか、教えてください。
マズはデータシート嫁
>>384 マイコン自体初めてならPICから勉強しなされ。
そうでないならデータシート読むなり書籍を漁るなり。
ま、PICやれば他のマイコンは楽だな。
ぉぃぉぃ…
いや最初に触るマイコンがPICというのはオススメしかねるw 今手元にあるんだろうからH8でやった方がいいと思う 絶対アドレス16ビットってのは,16ビットで表現できるアドレスを アドレス空間の先頭32KB(00000-07FFF),末尾32KB(F8000-FFFFF) の範囲でアクセスできるようにしたもので,モード7なら大部分の リソースがアクセスできるモード 絶対アドレス8ビットはそのとおりの解釈でいい,アドレス空間の 末尾256B分をアクセスできるモード ではどういう違いがあるのかというと,アクセスできる範囲の制限と 出来上がるオブジェクトコードの長さ,実行サイクルに違いが出てくる もちろん使用可能な命令も違う。 簡単に言うと,制限のキツイ8ビットモードは命令長も1バイトと短いし 実行サイクルもソレに比例するように小さくて済む。 ただアクセス範囲がきついので使えるシチュエーションが限られてくる。 I/Oレジスタにアクセスする時などに使えるかなという感じだな。 この程度を頭に入れておけばいいと思う。
390 :
387 :2006/06/13(火) 21:53:26 ID:OrJpXMgp
PICで苦労すれば、他のマイコンは天国の意味、、、 こう書くとPIC厨から攻撃されるよな。 PICはマイコンでもマイクロコントローラでマイクロコンピュータじゃないと思ふ。 前につかっていた4ビットと似ているんだよな。 H8は比較的素直な構造なのでわかり易いっす。 だから逆説的に言うと、H8のあとでPIC使いたくネ。
>>390 同じくPICを使いこなせたら他のマイコンでは天国と思う。
でもPICは安いから壊しても気軽に交換できるところだけが長所かな。
PICなんて、ただの醜いワイヤーロジックの塊じゃん。
PICは速いし小さいし電力食わないし。メリットはあるよ。 まぁRISC(私語か?)なんで使いにくいのは同意するけど。
AVRとH8のいずれかで大抵のことは何とかなっちゃうからなー cygwin+gccで環境も似たようなもんにできるしね そう考えるとPICを使う場面って無いと思うね
PSoCが登場してからPICはめっきり使わなくなった。 今じゃ値段も変わらなくなってきたしね。
PIC厨うぜー。 DIPが使いたいんならtiny26あたり使っとけ。
397 :
774ワット発電中さん :2006/06/14(水) 22:45:48 ID:egNqXcpf
浮動小数点使うんなら、SH2Eだったら単精度命令もってる。 倍精度欲しいなら、それ以上の選ぶこと。 FFTで比較するとライブラリ使うのとでは雲泥の差だ。あたりまえだが。
SH2Eはあまりポピュラーじゃない。 自動車用で一般には使わないCANつんでいるし、メモリとタイマのかたまりだし。 倍精度持っているSH4の方が入手しやすいんじゃない?
>>396 PICいいよね。PICとH8があれば、だいたい事足りるよね。
そう考えるとAVRの出番は無いなぁ。
つりとしてはいまいち
そうだな、わが社ではPICは新人イジメに最適なアイテムとして活用されている
SH2E確かにデカイけどヘンな機能のタイマとかあって面白いよ ギアの歯掛け検出機能付きのタイマなんてあるし。
_, ,_ 〃〃(`Д´ ∩ <SH7124小売してくれょう ⊂ ( ヽ∩ つ ジタバタ
404 :
774ワット発電中さん :2006/06/17(土) 17:33:46 ID:Tpyq11pT
千石でMB-H8書き込み・拡張I/Oボードを衝動買いしてしまった 秋月のH8 LAN開発キットも2セット持っているw H8って開発環境が非常に良いから好き
H8のLAN開発キットってあの悪名高きミツイワボードじゃねぇか。
>>405 んむ。
金属スペーサをつけるとパターンとシャシがショートするし
先付けのスタティックメモリの下でパターンがショートしていたときもあったw
35個くらい組み立てて、自作プログラム乗っけて動かしてるんだが、
不良率低くはないねw
407 :
774ワット発電中さん :2006/06/17(土) 19:40:04 ID:xycE6h+D
35個って業者さん? それなら、ちょちょーいと変更して基板作った方が早くない? ってってかあれ買っても技術屋の良心として、 卑しくもディジタル通信なんだからセラロックははずすよね
>>407 いやいや素人です。
仕事の関係で、衛星音声回線にTCP/IPのデータを乗っけることになり、アダプタ
が必要になったんだけど、プロに発注すると高くつくので、仕事の合間にハード、
ソフトを作ってみた。
プログラム組むのが好きで、しかもネットワークの勉強になったので、
大変自分のためになりましたね。
409 :
406 :2006/06/17(土) 19:51:00 ID:c1oEEn5a
連投失礼。 秋月のH8/3052Fのボードはクリちゃんですよ。 LANボードのほうもクリちゃん。
SHCにおいて下記の現象が起きました。 void BugSample(void) { unsigned short aaa; unsigned short bbb; bbb = (aaa & 0xFF00); if((bbb == 0xFF00) || (bbb == 0xFE00)) { aaa = bbb; } else { bbb = aaa; } } としたところ、なぜか bbbと0xFF00との比較で、0xFFFFFF00との比較になりました。 (ちなみに0xFE00との比較では0x0000FE00との比較でした) アセンブラコードを見ると _BugSample: ; function: BugSample ; frame size=0 MOV.W L13,R6 ; H'FF00 AND R6,R2 EXTU.W R2,R2 ADD #0,R6 CMP/EQ R6,R2 BT L12 MOV.L L13+2,R6 ; H'0000FE00 CMP/EQ R6,R2 BF L12 L12: RTS NOP L13: .DATA.W H'FF00 .DATA.L H'0000FE00 となりました。 コンパイラのバグ?
ちなみにSHC9です。
412 :
774ワット発電中さん :2006/06/20(火) 21:01:53 ID:KePaA+H0
コンパイラの特性があるから、定数も(short)でキャストしたらいいんじゃない
キャストしても無理でした。 色々小細工を施せば直るかもしれませんが コンパイラの不具合でしょう?明らかに。ADD #0,R6って何よ(苦笑
GCCにそのCPU用のやつないの? それつかったことないから知らないけど
>413 次のCMPで使うためにフラグ立ててんだろ? よくあるコードだと思うが。
>>410 それ、本当にコンパイラが吐いたんですか?
R6にロードした直後にR6の値を使ったら
パイプラインストールするんですけど。
BF L12 の直後にL12があるってのも意味不明ですね。
>>413 ADDではTフラグは立ちません。
こういうコードを見ると、よく言われる
「いまどきのコンパイラは人間がアセンブラで書くより
はるかに良質なコードを吐く。だからアセンブラなんてヤメロ」
なんてのは根も葉もないデマだと思い知らされますね。
417 :
774ワット発電中さん :2006/06/20(火) 22:51:46 ID:KePaA+H0
困ったときはunsigned で誤魔化すか
418 :
774ワット発電中さん :2006/06/20(火) 23:14:08 ID:IL7BJ9Av
>>416 >「いまどきのコンパイラは人間がアセンブラで書くより
>はるかに良質なコードを吐く。だからアセンブラなんてヤメロ」
>なんてのは根も葉もないデマだと思い知らされますね。
まず
>>410 がどんなコンパイラを使ってるのか、そしてそいつが吐き出したコードをここに忠実にコピーしているのかを疑うべきなんじゃあるまいか?
短絡的に上のような結論をだす君よりは、現在一般に使用されているコンパイラの方がよほど信頼性があると思うのだが。
H8コンパイラは10年以上前の、日立時代のそれから、かなり良いコード吐いていたが SHはしらんなぁ・・・ 知らない俺が口鋏むのもあれだが。
>>410 > bbbと0xFF00との比較で、0xFFFFFF00との比較になりました。
なってるの?
>>416 最適化してなきゃこんなもんじゃないの。
ねえ、なってるの?
問題にしたいのはバイト吸うだとおもい脳内変換
>>420 =422
気になるからSHのデータシートダウンロードしちゃったじゃないか。
SH2のを見る限りはなってるな。
コンパイラを試せないからそう言うコード吐くのか検証出来ねえw
評価版で試せるんでないかい。 符号拡張の罠だと思うんだけど。
質問です。 今、SH-3で開発しています。 その際にBoot部とMain部とで二つに分けて開発し その後、生成されたabsファイルを結合した後、デバッグ用ファイルを生成したり リリース用にチェックサムなどをいれて、binファイルにしたいと思っています。 そこでabsファイルを結合する方法を教えていただけないでしょうか?
copy /b boot.abs /b + main.abs
429 :
774ワット発電中さん :2006/06/30(金) 14:55:52 ID:Rc1Gwzo1
質問でつ。 最近のHEWでは状況変わりましたか? ・namespace ・std::vector(テンプレおk?) ・throw(は使えたような。投げるエラーのスーパークラスある?)
気になったから試してみたが、全然問題ないな。
@SHC v6.0 code & speed optimize
(古!
>>427 absはelfファイルだから、ちゃんと解析しないとつなげられないよ。
似たようなことをするツールは自作したことあるけど。
>427 HEXファイルにしてからメゲすれば?
>>431 absがELFならアドレス解決したやらにゃいかんのじゃないか?
リンカにつかわにゃできんようなきがす
>>432 リンクしちゃったら一個のabsになるべ。
まあ生のバイナリにしてから好きなようにひねり回すのが一番簡単だと思いますな。
absだけどリロケータブルファイルならアドレス決めなきゃいけないけど absoluteなら計算するだけ。 まぁ、リロケータブルファイルをマップするソフトも作ったけど。 x86のEXEは楽だったけど、elfのリロケータブルファイルはめんどいな。 (absをCFからRAM上にロードして起動するDOSもどきなもんを作った) ところでE10Aならabsは2つ以上読み込めるから、bootとmainをどっちも 読み込ませておけばよいわけだが。デバッグ情報もどっちも有効になるし。 bootをROMに入れてあるのなら、bootはデバッグ情報だけ読ませればよい。 ROM焼きたいのなら、HEXにして結合が一番楽だろうね。 binはSH-3の場合、キャッシュ領域と非キャッシュ領域のアドレスの違いから まともなファイルが作れないから。物理アドレス構成でのHEX->BINは自作汁。
435 :
774ワット発電中さん :2006/07/01(土) 14:00:15 ID:D+aLn/Nz
ぐだぐだなげーんだよ
ケータイが普及してから長文を読解できない椰子が増えた。 だれか一言でまとめてやってクレ。
438 :
774ワット発電中さん :2006/07/01(土) 17:10:21 ID:ccvWo8kg
そんな先のことはわからないな
物事を簡潔に記述できる文章力もあると思うけどな。 最初の数行で全体が把握できるか、読む気をなくすかが決まるから。
すみません。御礼が遅くなりました。 質問に答えてくださりありがとうございました。 他人(他社?)からソースを提供してもらっていたので いまいちわかりませんでしたが、ようは absを作成→HEX変換(横河のデバッガ用に変換するToolで変換)→Bin変換→サムチェック付加Toolで サムチェック値を付加→よくわからないけど、元からあるinst.binを頭につける→完成 となっておりました。今回は、このabsの部分を分割して作成したので、どのタイミングで 結合(abs同士を結合?それともHEXにしたあと結合?それともBinを結合?)するか困っております。
442 :
774ワット発電中さん :2006/07/02(日) 21:00:12 ID:BTppyObb
>441 困ったからといって何でも聞くのはよくない。それぐらい自分で考えな。
443 :
774ワット発電中さん :2006/07/03(月) 00:54:13 ID:bRNw4zLc
>>441 正直ここでする質問じゃない気がするというか…
正直業務上の質問をココでしたら限りなくアウトじゃねぇ?
内容的にも、素人過ぎて怖いってのもありますが。
周りには技術者が居ないのか?
それ、仕事? いくらなんでも、ここで聞かなきゃならんとはちょっとなー。 どこかソフト会社に金払ってきちんと依頼した方がいいとおもうが。
445 :
441 :2006/07/03(月) 04:29:22 ID:EIm9PYer
偽者ウザイよ。くやしかったら就職してみな。
>442 すみません、現在作業をやっているのが私一人なので・・・もう少しがんばります。 >442 >正直業務上の質問をココでしたら限りなくアウトじゃねぇ? 内容的には、ごく一般的?というか、根本的な業務内容に触れていないのでOKと思うのですが駄目でしょうか? >内容的にも、素人過ぎて怖いってのもありますが。 >周りには技術者が居ないのか? いません、素人過ぎてすみません。なにぶんようやくよちよち歩きができるようになった若造なので。 >444 仕事です。 とりあえず、absファイルとはなんぞや、HEXファイルとはなんぞやといったところから調べます。 >445 私の発言ではありません。 >446 偽者と気づいていただきありがとうございます。
448 :
あんもち :2006/07/05(水) 21:52:47 ID:bgADl9UL
すみません。教えてください。 「H8/Tinyマイコン完璧マニュアル」の本の54ページでHEW2を使ってLINK/LIBLARYでメモリマップの変更をしたいのですが、変更したいアドレスがでてこないんです。 0x0000F840, F840,F880,FB80,FE80 のアドレスを呼び出したいんです。 よろしお願いします。
449 :
774ワット発電中さん :2006/07/06(木) 02:31:34 ID:zkNnaK0w
ルネサスのサイト、H8SX/1663,1664が開発中から新製品に変わったけど 物はもう入手可能なのでしょうか? つか、どこかで売ってないですかね。
秋月3694Fボード上のレギュレータがいきなり壊れた。 10Vちょっと出ててCPUも飛んだっぽい。 こんなことってあるんすかねー。
あるある
H8のレジスタ定義C言語用ヘッダがルネサスのHPからダウンロードできるらしいのですが見つかりません。 モニタデバッガも置いてあるはずですが見つかりません。 もうHPからはダウンロードできないんでしょうか?
そーそー、ルネサスのページってとっても探しにくい。 ルネサスの知り合いにも言っているけど改善の兆しはないね。 こんなんでシェアップはできんのかいな?
452ですがダウンロードできました。ありがとうございました。
>>454 Webからデータシートダウンロードするような
個人や中小企業はハナから相手にしていないんでしょうね。
きっと大手顧客相手にはうってかわって手厚いサービスが・・・
ない!(きっぱり)
紙のマニュアルすらくれなくなったからなあ。 昔は電話したら頼んでない物まで届いてえらく邪魔だったが…
紙のマニュアルってもらえない? 2月か3月にもSH77なんちゃらのマニュアルもらったよ。 最近のデバイスだったから新しいデバイスは紙のマニュアルなんて 用意してない、というわけでもなさそうだし。 ダウンロードしてくれといわれたらインターネットなんかわからんと ゴネ通せばいいのかも。
ゴネればいいだろうけど、そんなやつにSH77なんちゃらが扱えるのかという新たな疑問がでてくるであろう。
会社の回線はセキュリティ上帯域制御されていてダウンロードできないって言えばいいんじゃない?
紙のマニュアルを貰えるかは代理店次第かと。 メーカは大手にしか渡してない気がする。 街の製本屋で作ってもらったら、2-3万円かかるみたい。 この前、時間がなかったので自分で製本してみた。(仕事で使うんだが)
最近はバラまけるほど刷らないらしい。 あの厚さだから金かかるのはわからんでもないが。
そもそも、検索ができない紙のマニュアルなんて役に立つのか?
ちょっとほかの項目を見たいとき、指を挟んでおける。
日立は城下町に自前の印刷・製本屋を抱えてたけどなー もうないのかな。 または、ルネサスは日立の関連会社は使わせてもらえないのか。
ようは、ダウンロードして勝手に印刷しろということじゃないの? 世の中ペーパレス化の方向だし。 そんなことよりも、SHのコンパイラって不具合多すぎ。
今日一日掛けてH8用のgccやらのtoolchain、gdbとnewlibをcygwinで 開発できるように環境を構築したんだが、コンパイル遅すぎw Pen4/2.8GのWin2k+cygwin環境でクロスコンパイルするよりも Pen!!!800MのLinux環境の方が早かったりする orz とりあえず明日も休みだしnewlibのシステムコールを実装して まともに使えるようにするか、GDBスタブ組み込んで実機デバッグ できるようにするかだなマンドクセ ライフゲーム専用機をこしらえるのが今月の目標
しょうがねぇさね。cygwinなんてボトルネックの固まりだから。
SHCってC99に対応している?
結局以前のsambaでファイルを共有して、
Winで編集 -> Teraterm経由でLinuxでコンパイル -> Teraterm使ってダウンロード -> 実行
か CygwinでInsightかgdbを立ち上げてリモートデバッグ実行の形式になったw
H8のGDB用スタブ見つけたんで、アドレスをずらしてTOPPERSの簡易モニタと
ガッチャンコして焼きこんだ。モニタからgo 2000とやるとスタブが起動する
(それぞれの初期化時のパラメタをマッチングし、通信速度を115200に変更)
newlibのシステムコールも適当に作ってみたよ
printf("%f\r\n",pie)とかでちゃんとSCI1に表示されるようになったしgdbでトレースも可能にw
TOPPERSプロジェクト/JSP カーネル(H8用簡易モニタのダウンロード)
http://www.toppers.jp/jsp-kernel.html TOPPERSプロジェクト/関連ソフトウェア(H8のGDB用スタブのダウンロード)
http://www.toppers.jp/software.html newlibのシステムコールは最低限のこれだけをほとんどを何もしないで固定で
エラーか成功かを返すだけのインチキインプリメントで実現w
int _unlink_r(struct _reent *,_CONST char *);
int _link_r(struct _reent *,_CONST char *,_CONST char *);
int _fork_r(struct _reent *);
int _execve_r(struct _reent *,char *,char**,char**);
int _wait_r(struct _reent *,int *);
int _kill_r(struct _reent *,int,int);
int _getpid_r(struct _reent *);
int _fcntl_r(struct _reent *,int,int,int);
int _close_r(struct _reent *,int);
int _gettimeofday_r(struct _reent *,struct timeval *,struct timezone *);
clock_t _times_r(struct _reent *,struct tms *);
off_t _lseek_r(struct _reent *,int,off_t,int);
int _stat_r(struct _reent *,_CONST char *,struct stat *);
int _fstat_r(struct _reent *,int,struct stat *);
void * _sbrk_r(struct _reent *,ptrdiff_t);
int _open_r(struct _reent *,_CONST char *,int,int);
_ssize_t _read_r(struct _reent *,int,void *,size_t);
_ssize_t _write_r(struct _reent *,int,_CONST void *,size_t);
--
gdbでリモート実行やるときのオレ的メモ
COM1(/dev/ttyS0)に通常のターミナルを繋ぐ(H8側SCI1ポート)
COM2(/dev/ttyS1)にgdbのデバッグポートを繋ぐ(同SCI0ポート)
リモート環境のアタッチ手順
set architecture h8300h
set remotebaud 115200
target extended-remote /dev/ttyS0
ついでにgdbのリモート実行環境へのロードで嵌ったのでメモを
set remoteaddresssize 32
を実行してからloadしないと、とんでもないところにロードされるw
ユーザプログラムでspがとんでもないところに設定されると
反応しなくなるので怪しい時はH8側を再起動する
473 :
472 :2006/07/09(日) 17:35:32 ID:d36y9p7F
よく見たらCOM1,COM2の接続が逆だった orz COM2(/dev/ttyS1)に通常のターミナルを繋ぐ(H8側SCI1ポート) COM1(/dev/ttyS0)にgdbのデバッグポートを繋ぐ(同SCI0ポート)
>>474 GDLはアリ
今のところ俺は
H8(3048f)用 :WindowsXP+eclipse+cygwin+gcc+gdb+gdbスタブ、elfで統一
SH2(7144f)用 :HEW4無償評価版(リンクサイズ256KBまで)
476 :
774ワット発電中さん :2006/07/12(水) 15:38:59 ID:e2nm81Qu
E10T-USBって東京だったらどこで買えますか?
やっとルネサスもSHの電源用ICを出してきたか。長かったの。
なんで、KPITのgccを使わんの?
479 :
774ワット発電中さん :2006/07/15(土) 00:54:42 ID:EhG5E0ZW
HEWダウンロード停止かよ
480 :
大木博士 :2006/07/15(土) 01:18:33 ID:VmsRTGL5
立ち上げてリモートデバッグ実行の形式になった
481 :
大木博士 :2006/07/15(土) 01:19:44 ID:VmsRTGL5
我中意日本!
HEWを止める理由がわからない
チップの販促ツールと捉えている海外の半導体メーカーに対して、おおかた ルネサス経営陣が掲げる事業部採算性を推進するという名目で、開発ツール でも小金を稼ごうってことでしょ。 有償サポートなら不具合対応で金をふんだくれるけど、KPITから無償ダウン ロードしたHEWとKPIT gcc Toolsを組み合わせれば、使用期限や機能に制限が ないうえ、知ってか知らずか、Renesas Auto UpdateでHEWの自動更新できちゃ ってたからね。 無償で入手できるツールに対して、見返りが明確化されていないサポート 費用なんて払いたいとはフツー思わんでしょ。
485 :
774ワット発電中さん :2006/07/17(月) 04:26:24 ID:IW73YQOA
最新版 V.4.01.00 は1週間ほど前にダウンロードしたけど何か問題があるの?
486 :
774ワット発電中さん :2006/07/17(月) 08:31:44 ID:0NHSjQQN
スパイウェアが入ってる
>486 情報ソースは?
ユーザー登録!ユーザー登録!電子メールでユーザー登録!って正直うざい。 サイトにログインしてからダウンロードするんだから、ライセンスキーとかメールで送って来る程度にしておいてくれ。
はじめまして。質問させてください。 自分は大学の研究で秋月電子通商のH8/3048Fマイコンキットを使っています。 プログラムを書いている言語はC言語で、秋月製のCコンパイラを使用しています。 ここからが質問なのですが、H8/3048Fマイコンは算術関数(sinやcos)を使用することが出来ますか?また、配列を何個まで作ることが出来ますか?
だいがくせいだったらじぶんでしらべなさい
491 :
774ワット発電中さん :2006/07/18(火) 01:11:08 ID:Sab9hU9f
>>489 試してみれば判ることを何故訊くのかな…このこは?
492 :
489 :2006/07/18(火) 01:13:06 ID:JAYJ1qxG
答えたくなければわざわざレスすんなアホ 死ね高卒
お前こそ高卒だろw
494 :
774ワット発電中さん :2006/07/18(火) 01:25:58 ID:Sab9hU9f
うむ。現在の学歴では大学生=高卒…だよな。
ちょっと恥ずかしい奴
>>492 ほかに質問は?
>>489 ルネサスのサイトにH8の仕様書やらマニュアルやらチュートリアルやら例やら山ほどあるのに、なぜここで聞くんだ?
それ読めばいいじゃん。あほか。
>>489 あー、それから、秋月のCはやめとけ。gcc使え。
SHの純正であるSHCの無償評価版で良いんじゃないの?
498 :
489 :2006/07/18(火) 01:40:09 ID:JAYJ1qxG
純正と比べて糞コードしか吐かんgccを勧めるとはお前はアホか? 高卒哀れ
500 :
774ワット発電中さん :2006/07/18(火) 01:51:29 ID:Sab9hU9f
>>498 具体的にどんな糞コードを吐くのかな?
そもそもどんなコードが糞コードなのか判って言ってる?
日本の夏 2ちゃんねるの夏
502 :
498 :2006/07/18(火) 02:41:54 ID:JAYJ1qxG
関数の引数の数を多くしてみろ。 言語仕様通り、何も考えず引数をいちいちスタックに積んでる時点で糞なんだよッ。 チップそのものを設計してるメーカ製コンパイラが、フリーより質の悪いコードを吐くとでも思ってんのかアホ わからんかったら鹿取本でも読んで勉強して来い高卒
503 :
498 :2006/07/18(火) 02:47:50 ID:JAYJ1qxG
それとだ. スタック解析ツールもないgccでデバッグが完了するようなシングルタスクごときはアセンブラで書けやボケ
504 :
498 :2006/07/18(火) 02:50:55 ID:JAYJ1qxG
アホはそれはgccじゃなくてgdbとか言うんだろな。 gdbやice以前の問題なんだよッ!!
505 :
774ワット発電中さん :2006/07/18(火) 03:11:15 ID:Sab9hU9f
ほお、そこまで判ってるチミが >ここからが質問なのですが、H8/3048Fマイコンは算術関数(sinやcos)を使用することが出来ますか?また、配列を >何個まで作ることが出来ますか? なんて質問するのが不思議だよ。
506 :
774ワット発電中さん :2006/07/18(火) 03:25:57 ID:FYQhRjbg
ヒント つID
連休終わって壊れた奴が出たみたいだなw
なんで、
>>497 は、H8/3048F用にSH用のコンパイラ勧めてんの?
509 :
489 :2006/07/18(火) 11:00:21 ID:WtaI309R
大学からレスしています。ルネサスのサイトに算術関数を使えるか載っているんですか? ルネサスのサイトにいって調べてきます。なんか自分のせいでスレが荒れてしまったみたいで、すみませんでした。
>>505 どう見てもJAYJ1qxGは別人の荒らしなのに、そんなレスをする香具師がいるのが不思議。
>>509 HEWでは使えてる。ちゃんと設定してやらないといけないが。
配列のサイズは・・・搭載RAMによるとしか。
gccの場合、引数はレジスタ渡し+スタック渡しがデフォだったような希ガス 何でもかんでもスタックに積むわけではなかったと思うがな gccはオプションでいろいろ調節できるんで、いろいろ試すとそれなりの コードを吐いてくれるよ。定番のfomit-frame-pointerとか色々
514 :
489 :2006/07/18(火) 17:23:49 ID:WtaI309R
>>511 ,512
レスありがとうございます。
とりあえず自分で色々調べたいと思います。
>>496 これはどうしてですか?
オブジェクトの効率が悪いとかそういう理由ですか?
結構気に入って使ってるだけに知りたい。
はじめまして。 H8マイコンを使ったシリアル通信のプログラムを作成しています。 しかし、プログラムの方法が全くわかりません。 ・ボーレートの設定の仕方 ・受信データの取得方法(受信割り込みでデータを取得したい) C言語で開発してるのですが、何かいいサンプルプログラムありますか? よかったら教えてください。 お願いします。(^∧^)
517 :
774ワット発電中さん :2006/07/19(水) 19:35:34 ID:uzVMFuB7
あげ
その辺はマニュアルに書いてあるでそ マニュアル嫁
519 :
774ワット発電中さん :2006/07/19(水) 19:39:34 ID:uzVMFuB7
>>518 マニュアルってどこかに落ちてない?
あと、マニュアルのSCIのところ読んだけど書いてなかったよ。
SCIのとこに必要なことは書いてあるでねーか 嘘つくでねぇ
521 :
774ワット発電中さん :2006/07/19(水) 19:42:51 ID:uzVMFuB7
あっ、ゴメン。
俺の読んでるマニュアルには書いてなかったってことだよ。
>>518 さんが言ってるマニュアルがどこかに落ちてないかなーってこと
読んでるマニュアルが違うのかなー
H8/3xxxグループハードウェアマニュアル とかなってる奴をルネサスのサイトで探して落とせば良い。
523 :
774ワット発電中さん :2006/07/19(水) 19:46:43 ID:uzVMFuB7
>>520 シリアル通信のサンプルプログラムがあればいいのだが、、、、
どこかに落ちてないかなー
524 :
774ワット発電中さん :2006/07/19(水) 19:49:58 ID:uzVMFuB7
>>522 ごめんなさい
ルネサスのサイト行ったけど、いっぱいありすぎて分からない。
どれですか?
H8の何使ってるんだ?
まあいいや。トップページ逝って
http://japan.renesas.com 右上のドキュメント検索をクリックして
自分が使ってるH8のハーどぇあまにゅあるとか色々
検索してダウンロードすればいい。
直リンできない(ってかしづらい)サイトなので探すのは自分で。
こういう人はサンプルをうpしたら 「次はタイマのサンプルプログラムを・・・」 「次は・・・」 とクレクレ君に変化しそう
HOSつかえばシリアルもタイマもなんの苦労もせず使えるじゃん すでにサンプルプログラムにあるからな
HEW4.01の不具合対応来たー 解決策 以下の2つの.hwpファイルを弊社に送ってください。ファイルを改修して 返送します。 ・ プロジェクト名.hwp ・ old_version_XXX_プロジェクト名.hwp ファイルはワークスペースを作成したディレクトリの下のプロジェクトの ディレクトリにあります。 なお、.hwpファイルには開発プログラムの内容、開発製品を特定する情報などは 含まれておりません。 恒久対策 High-performance Embedded Workshopの次期バージョンで改修する予定です。 まんどくせー
530 :
516 :2006/07/19(水) 20:45:11 ID:YQ7NsrKB
>>526 ルネサスのページでいくつかマニュアルみたが、
シリアルの受信割り込みのプログラミング方法は書いてなかった。_| ̄|○
フローチャートでデータの受信方法は書いてあったけど、それは割り込みでなかったし、、、
どこかに受信割り込みを使ったサンプルないかなー?
531 :
774ワット発電中さん :2006/07/19(水) 21:08:28 ID:U2CGmcOK
君にはこの業界向いてないから、さっさと転職した方が良いよ^^
シリアルの受信割り込み処理程度の初歩的なプログラミングなら小学生でもやってるもんな。 今の小学生は凄いよ。
533 :
516 :2006/07/19(水) 21:19:24 ID:YQ7NsrKB
マイコンは初心者なんですいません。
マニュアルも探せないようなら参考書でも買っとけ
コピペだけなら誰でもできるけど、割り込みプログラムは奥が深いぞ。
>>533 釣りの専門家?
マイコンいじってるとかいじらないとか関係なく 俺らの世代は98の8251やらIBM PCの8250で シリアル通信書いたってか書かざるを得なかったからな 割り込み使った通信なんぞ過去に何度書いたか分からん。 IBM PCなんてBIOSは使いものにならん仕様だし。
ジイイキター>< 俺の時代はなぁ云々
そのうち、今の若いもんは駄目だなぁと言い出すんだよ、きっと! いい感じに糞ったれだねまったく。
ったく、これだから最近の若いモンは。ブツブツ…
あの頃は、良かった。(シミジミ
たかだか10年ちょい前の話じゃねーか。 じじい扱いするなってーの。 悔しかったらシリアル通信くらい人にさっさか書いて見せろ。
542 :
774ワット発電中さん :2006/07/20(木) 17:09:40 ID:WGxnJsum
だからHOSつかえっつってるだろが
H8の解説本、何種類か売ってるけどシリアルのコードぐらいどっかに載ってるんじゃないか? 調べて読むことは技術者の基本。
HOSって、ちょっと使う分には普通にマルチタスクOSっぽい動作が出来て感動するんだが、 少し本気で使い始めるとバグが多いね。
void SCIinit(void){ SCI_PORT.SCR.BYTE = 0x00; // set serial control disable TEI,RXI,TE,RE,MPIE,TEIE intCLK/SCKdontUse SCI_PORT.SMR.BYTE = 0x00; // set serial mode Async,8n1,noMP,CKS=1/1 SCI_PORT.BRR = BRR(SCI_SPEED); SCI_PORT.SSR.BIT.RDRF= 0; SCI_PORT.SSR.BIT.ORER= 0; SCI_PORT.SSR.BIT.FER= 0; SCI_PORT.SSR.BIT.PER= 0; sci_rbuf_cnt= 0; sci_rbuf_rpos= 0; sci_rbuf_wpos= 0; SCI_PORT.SCR.BIT.TIE= 0; /* Tx bufferEmpty IRQ Disable */ SCI_PORT.SCR.BIT.RIE= 1; /* Rx bufferFull IRQ Enable */ SCI_PORT.SCR.BIT.TEIE= 0; /* TxDoneIRQ Disable */ SCI_PORT.SCR.BIT.TE= 1; /* Tx Enable */ SCI_PORT.SCR.BIT.RE= 1; /* Rx Enable */ return; } #pragma interrupt void SCI_INTRX(void) { if(SCI_PORT.SSR.BIT.RDRF){ DI; if(sci_rbuf_cnt<SCI_BUF_SZ){ sci_rbuf_cnt++; sci_rbuf[sci_rbuf_wpos++]= SCI_PORT.RDR; sci_rbuf_wpos= sci_rbuf_wpos & (SCI_BUF_SZ - 1); }; SCI_PORT.SSR.BIT.RDRF= 0; EI; }; } void SCIputc(char c){ while( SCI_PORT.SSR.BIT.TDRE == 0 ); SCI_PORT.TDR = c; SCI_PORT.SSR.BIT.TDRE = 0; // clear }
まず、H8でもH8/xxxxが正しく書かれてないから例題もクソもないわけで・・・
H8/300のSCI0とtinyのSCI3は別物。
>>545 ああーやっちゃった。
ところで、intRXでDI EIしてる理由は?
おまい、つられてるよ
>>546 優先順位の高いタイマ割り込みで受信バッファからのデータ取り出しを別途やってて
バッファ操作中に割り込まれるとまずいんでな
550 :
774ワット発電中さん :2006/07/20(木) 20:22:58 ID:4P+jvw2B
551 :
774ワット発電中さん :2006/07/20(木) 20:38:21 ID:Woj/q4S9
>549 最近流行りだよな。 妄信するとかなり痛い目にあうがw
>>551 “マイコン周辺IO自動生成ツール” って、シリコンチップでも自動生成されるのか・・・?
確かに、生成される場所によっては、刺さったりして“痛い”目に会うかもしれない。。。
生成されたIO(ルーチン)がリンク実行時に滅茶苦茶なことをしてくれる
よっぽど実績ないと生成したものとか怖くね? gcc使っててもツールチェインとかアップデートしたら 一旦オブジェクトを逆汗して確認しちまうゼ
555 :
774ワット発電中さん :2006/07/21(金) 09:03:01 ID:gALVfTfL
ハァ?逆汗? -Sもシラネェのか池沼
アセンブラは疑わないのか?
ないことはないダロ
H8でも多重割り込みは簡単に出来ますが何か?
多重割り込みがない、ってどの資料を基に言ってるんだ?
Z80でいうところの「多重割り込み」だろ?
tiny使いなんだろ
いまどき多重割り込みのないマイコンなんてあるんかい?
PICとかじゃね?
>561 そういえば、昔Z80にはPIO、SIOとかの周辺と組み合わせて使う独自の多重割り込み方式があった。 Z80使いの中には、それ以外は多重割り込みと認めていない椰子もいた。 6301使いだった漏れが椰子に懇切丁寧に教えてやったがな。
>>565 モード2の事か?
あの足は優先順位を決めるものであって、
多重割り込みとはあんまし関係なかったような気がするが。
なんかひさびさに額田本を読みたくなった。
以前、質問した489ですが、また分からないので質問させて下さい。 マイコンのDAの0チャンネルから、sin()のテーブルを使わず、テイラー展開で近似してsin波形を出力したいのですが、うまく出力出来ないのでどうしたらsin波形が出力出来るか教えて下さい。 もしくは、秋月製のCコンパイラでsin()を使えるようにする方法を教えて下さい。 自分でもテイラー展開してみたのですが、うまく波形を出力することが出来ませんでした。
テイラー展開の式が間違ってたんじゃないの?
E8のターゲット側コネクターがヘタレなのはどうにか汁
>>567 テイラー展開の近似は何次でやってますでしょうか。9次くらい?
差し支えなければプログラムを見せてもらえると嬉しいです。
571 :
774ワット発電中さん :2006/07/24(月) 20:48:19 ID:haZwW9mR
>>568 、570
レスありがとうございます。
自分はテイラー展開の近似は、5次までやってます。秋月製のコンパイラは、math.hにpow()が入っていないみたいなので、自分はすべて手打ちで打ちました。
今、家に帰っているので、プログラムを載せるのは明日でよろしいですか?
>>545 H8は割り込みがかかるとIビットがセットされるから、DIは要らないのでは?
それにRTEで割り込みがかかる前のCCRに復帰するから、EIも要らないような。
573 :
570 :2006/07/24(月) 21:31:19 ID:ZDL5ktT9
>>572 アレはUIビットをクリア/セットするんマクロなんだ
>>567 決まった波形なら計算しないでテーブルに予め計算値入れておいて
それを出力するのも手だと思うんだが....
575 :
565 :2006/07/24(月) 23:55:13 ID:dB7JhPcc
>>566 そういえばそうだったな。
あまりに昔の話だったんで、忘れていた。
Z80厨の中には、あれじゃないと多重割り込みじゃないと言い張るのが
いて説明(説得)に手間取ったことは記憶に鮮明に残っていた。
>>574 DIは分かったけれど、EIは直後のRTEで上書きされちゃうと思う。
プログラミングポリシーだろうな いや、漏れもEI,DIとかを対にして記述するからな まーbeginに対するendみたいな感じかなw そこがクリチカルパートだってわかることも多いし、わずかな無駄で意外性の無さが保たれるからよくやる
578 :
567 :2006/07/25(火) 11:38:33 ID:k8RXhW3k
レスありがとうございます。また、返事が遅くなってしまい、すいません。
>>574 大学でテーブルを入れずに、テイラー展開でやってみるように言われたんです。
>>573 テイラー展開の所の関数だけ載せますね。for文も何も使ってないので汚いですが。
double sin(double x){
double a;
a = x - (x*x*x)/(3*2*1) + (x*x*x*x*x)/(5*4*3*2*1) - (x*x*x*x*x*x*x)/(7*6*5*4*3*2*1) + (x*x*x*x*x*x*x*x*x)/(9*8*7*6*5*4*3*2*1);
return a;
}
floatでやった方が良い希ガス
580 :
567 :2006/07/25(火) 15:02:04 ID:k8RXhW3k
あー、floatでやったらうまくいくってわけじゃなくて、計算速度とかメモリの話です テイラー展開だとxが大きくなると誤差が増えるから、 常にxの絶対値をπ以下にするとかした方が良いとおも
>578 乗算はものすごく時間がかかるから括ったほうがいいじょ
583 :
567 :2006/07/25(火) 15:58:40 ID:k8RXhW3k
>>581 ありがとうございます。やってみたいと思います。
>>582 レスありがとうございます。こうゆうことでしょうか?
a = ( x - (x*x*x)/(3*2*1) + (x*x*x*x*x)/(5*4*3*2*1) - (x*x*x*x*x*x*x)/(7*6*5*4*3*2*1) + (x*x*x*x*x*x*x*x*x)/(9*8*7*6*5*4*3*2*1) ) ;
実装するときは3*2*1は6って計算してからのほうがいいような
そういうのはコンパイラがやっちゃうから大丈夫。
586 :
567 :2006/07/25(火) 16:18:37 ID:k8RXhW3k
以下のように変更しましたが、うまく波形を出せませんでした。 xの絶対値をπ以下にしてるつもりですが、間違いがあったら指摘をお願いします。 float sin(float x){ float a; int b; b = x/(3.1415); x = x - b*3.1415; a = ( x - (x*x*x)/(3*2*1) + (x*x*x*x*x)/(5*4*3*2*1) - (x*x*x*x*x*x*x)/(7*6*5*4*3*2*1) + (x*x*x*x*x*x*x*x*x)/(9*8*7*6*5*4*3*2*1) ); return a; }
587 :
774ワット発電中さん :2006/07/25(火) 16:32:14 ID:FwLXAGkJ
>>581 ちょっと待てよ、H8でfloatだと?
整数での演算の約1000倍ぐらい時間かかるぞ
まあ教育的にやってるんだからしかたあるまい。 仕事だったらテーブルとか固定小数点とかそういう泥臭い話になるけどさ。
あのー、テイラー展開がどうこう以前に、 (sin波データを更新する周期)>(計算の所要時間) でなければ、きれいなsin波にはならないと思うけど、 それは問題ないのかな。 それから、sin波データを更新する周期はタイマで正確に処理 しているかどうか気になる。 > 大学でテーブルを入れずに、テイラー展開でやってみるように言われたんです。 これは、リアルタイムに計算しなさい、という指示 だったのだろうか。 定数でテーブルを作らずに、テイラー展開でテーブルを 作ってはいけないのでしょうか。
展開式が間違ってるんじゃないかとおもったが、そうではないみたいですね。
578, 586 の関数を、そのままコピペして、0〜2/πまで、cintで計算してみたが、
組み込みのsin()との差は、小数点以下5桁までは合っている。
なんで、
>>590 氏の指摘のほうが疑わしい希ガス。
漏れも昔、似たようなこと(windows だったが、sin波ジェネレータ)をやろうとして、
ロジックにバグがあって、“周期むちゃくちゃ”な波形になったことがあった。
なんか、得体の知れない波形?が出る。滑らかな波形にならなかった。
2tone/3tone(変調波)みたいなのが出てるなら、確かに
周期に計算が追いついてない、という可能性がある。
>>583 a = x - (x*x*x)/(3*2*1) + (x*x*x*x*x)/(5*4*3*2*1)
だと*が実質6個
a = x - (x*x*x)*(1.0/(3*2*1) + (x*x)/(5*4*3*2*1))
だと*が実質4個
みたいなこと
惜しいじょ a = x - (x*x*x)/(3*2*1) + (x*x*x*x*x)/(5*4*3*2*1) - (x*x*x*x*x*x*x)/(7*6*5*4*3*2*1) + (x*x*x*x*x*x*x*x*x)/(9*8*7*6*5*4*3*2*1); は x2=x*x; x3=x*x*x; a = x - x3/(3*2*1) + (x3*x2)/(5*4*3*2*1) - (x3*x3*x)/(7*6*5*4*3*2*1) + (x3*x3*x3)/(9*8*7*6*5*4*3*2*1); これをさらにくくるんだじょ ちょっとヒントを与えすぎたじょ
594 :
567 :2006/07/26(水) 11:48:36 ID:mIx7uM/H
レス遅くてすいません。
>>590 ,591
周期は、ITUを用いて一定間隔を作成しています。
テイラー展開でテーブルを作るとは、どのようにしたらいいのでしょうか?
>>592 ,593
ありがとうございます。やってみたいと思います。
>>594 >>590 が言っているのは、出力する前の前準備として、
テイラー展開した結果を先に配列変数に入れてしまって、
それが終わってから配列変数の中身を周期的に出力する......
ってことだと思われ。
学校の課題でテーブルはダメと言っているのが、
先にPCとかで計算した結果をテーブルで持たせて、
H8で計算しないで出力するのはダメって言ったという事前提だけどね。
596 :
567 :2006/07/26(水) 12:55:25 ID:mIx7uM/H
>>595 レスありがとうございます。
今、テーブルを使わずにやってみたら、波形が全波整流の波形になりました。
なので、テイラー展開の所で、符号が正にしかなってないみたいなので、その辺をいじってみたいと思います。
ちなみにテイラー展開の所の関数は、下のように変更しました。
double sin(double x){ /*sinを計算*/
double a,x2,x3,x6;
int b,c1,c2,c3,c4;
b = x/3.1415;
x = x - b*3.1415;
x2=x*x;
x3=x*x*x;
x6=x*x*x*x*x*x;
a = x - x3/(3*2*1) + (x3*x2)/(5*4*3*2*1) - (x6*x)/(7*6*5*4*3*2*1)
+ (x6*x3)/(9*8*7*6*5*4*3*2*1);
return a;
}
いや、テーブルというのはテイラー展開は使わないで、あらかじめsin波自体のデータを配列に保存しておくということなんだよ。
598 :
567 :2006/07/26(水) 13:38:23 ID:mIx7uM/H
/* Sin()と言う名前のsin関数値(テーブル版)取得 */ /* 引数は角度(Deg.) */ /* 返値はsin(x)*10000 */ int SinTbl[]={ 0, 175, 349,523,... }; #define Cos(x) Sin((x)-90) int Sin(int x){ return( (x<0)?(-SinTbl[(-x) % 360]):(SinTbl[(x) % 360]) ); }
雑誌Interfaceについていたsh2基板とsh-elf用のgnuツールで開発する場合について質問があるのですが、 適切なスレが見付からないのでこちらで教えてください。 例えば、ベクタ領域を納めてあるオブジェクト用に.vectorというセクションを設けたとして、 これをルネサスのFLASH書き込みツールで必要なs-record形式に変換する(objcopyで)と、 そのセクションに対応する部分だけ消えてしまいます。 .textや.dataは残ります。objdumpで見るとelfの段階では.vectorは目標のアドレスに存在しています。 なにが問題なのか教えてください お願いします><;
だめだこりゃ、言われたとおりに作業するだけで、なぜそうするのかを理解して作業していない。 脳死状態だ。
>>601 いきなりなんなんですか!?
答えが出せないなら黙っててください!!(怒
そして誰もが口をつぐんだ
ID:N5cqbIz/さっさと精神病院へカエレ!
ちなみにcygwinの386用gccでは勝手に作ったセクションでも削除されません!
ZGt4PVqsもわかんないってことだなw
607 :
600 :2006/07/26(水) 17:54:54 ID:+8jvv0Sz
やりました!解決できました!!^^
608 :
600 :2006/07/26(水) 18:17:24 ID:Dv8TNAYS
酷いです。勝手に人のレス番を騙らないでくださいw
夏だにゃー (J-o-)y=
610 :
600 :2006/07/26(水) 18:29:47 ID:+8jvv0Sz
答えは「セクション属性にallocatableフラグを付ければよい」だ。
おや
>>601 がなにやら的外れなことをほざいてるようですねwぷぷぷ
所詮人が勝手に決めたプログラムの仕様だ。 「何故そうなっているか」なんていうほど大層なものじゃない。 単に「そういう仕様で作りましたので覚えてください」ってだけ。
ID:+8jvv0Szも精神病院へ帰れw
駅ナンバリングでいうとH8は、札幌の大通、東京の銀座、名古屋の名古屋といった 繁華街ど真ん中ですな。
614 :
774ワット発電中さん :2006/07/30(日) 07:56:44 ID:I0Xdu5LO
名古屋の名古屋は繁華街ではありません
>札幌の大通、東京の銀座、名古屋の名古屋 共通性が分からん
>名古屋の名古屋は繁華街ではありません どこぞのいなかもんか?
確かに中心街ではあるけど、最新のトレンドからは遅れてるって意味かな。
愛知県名古屋市中央区那古野のことかな
619 :
774ワット発電中さん :2006/07/30(日) 15:41:41 ID:hemKMnb/
名古屋は名古屋県の首都だと思ってた俺様がきましたよ
>>619 名古屋の県庁所在地は?と聞かれて素で名古屋と答えた俺様が来ましたよ。
ブブー残念といわれて、とっさに豊田市!?と行ってしまつたのを思い出したよ
0xC91F0606 CQ出版IF誌2006年06月
おしいな
>624 これなんていうマジックナンバー?
>>624 このスレの住人なら H'C91F0606 と書け。
628 :
774ワット発電中さん :2006/08/01(火) 00:05:29 ID:3T3vRX7n
H8は何でポートのDDRがwrite onlyなんじゃろ
論理ケチっただけだろう。 うっかり読むと謎な挙動になるのはなんとかしてほしいが。
魔法の杖がエネ●グラに見えてしまい仕事が手につきません どうしたらいいでしょうか? のうし先輩たすけて
のうし先輩はこのスレ見ないの?
発振器内蔵してるH8ってないの? 78K0とどっちに本腰を入れるか悩み中。
78kは日本語資料が多くていいね。デバガも安いし。
78軽も総合的に見て悪くはない。 内蔵オシレータが高精度なのは意外だったよ。
お、意外に支持が。>78K0
今業務で使ってるんだけど、MINICUBE2にホレた。
>>634 > デバガも安いし。
十ウン万したと思ったけど。
フリー版もあるけどね。
容量制限あるけど、個人の遊びには十分。
てか、業務でもフリー版で十分なぐらい。
ルネサスのsh2用モニタについて質問です。 解凍したフォルダにある monitor.html readme.html を読んでフラッシュに書き込み一応動くようになりました。 ところが、上の説明書にはRAM最大450B使用と書いてあるのですが、 モニタのDコマンドで見るとユーザプログラムをロードしなくてもramの全域がデータで埋まっています。 リセットをしても同じデータなのでモニタが使用してるデータかと思いますが、これって異常でないですか? 異常でないとするとRAMを追加しないとユーザープログラムをロードできないということ? ROMも最大20KBと書いてあるのに、printfとscanf使うと40KB以上になってしまう。 何がいけないのでしょうか? 使っているのはCQのInterface誌についていた基板で、サブコマンドファイルには以下のように指定しました。 START VECTOR/0,ROM/800,RAM/ffffe800,USER/ffffe000,SCI/FFFF81B0
638 :
637 :2006/08/24(木) 07:32:19 ID:qXqPccUa
説明が足りませんでした。 >サブコマンドファイルには以下のように指定しました。 これはHEWを使ってモニタをコンパイルした時のサブコマンドファイルの記述のことです。
どのアドレスのメモリをダンプしましたか? 電源ON/OFFでもメモリの内容は同じでしたか?
>>639 はい。
基板の内臓RAM領域の全域を見てみましたが、なにやらデータらしきもので埋まっています。
電源を切ってリセットしても同じ値に保たれてます。
ですが、よーく見てみたら、?で表示されるヘルプ画面の上の方にメモリマップのような数字が表示されてました。
何度も表示してるのに、どうして気が付かなかったんだろう。
Monitor Vector 00000000 - 000002BF
Monitor ROM 00000800 - 00005A01
Monitor RAM FFFFE800 - FFFFE903
User Vector FFFFE000 - FFFFE2BF
これを見てMonitor RAMにもUserVectorにも使われていないRAM領域がユーザープログラムで使っても良い領域ってことなんですかね?
だとして、モニタはなんでそこに初期値みたいなのを書き込んでるんだろうか?
>>640 そのモニタのことはよく知らんけど、
初期値ってどんなんですか?
初期化してないときのメモリの値はどうなってるのを期待してますか?
>>641 レス遅れてすいません。
RAMの初期値は不定(毎回違う)ROMは0xFFかと思います。
643 :
642 :2006/08/25(金) 22:38:55 ID:xmmCnI3/
書き忘れました。
>初期値ってどんなんですか?
規則性は見つかりませんが、4バイトごとに小さい値(0〜0x99位)と大きい値(0xE0から0xFF)が固まって交互に繰り返されてるようにみえます。
たとえば
>>640 の例でRAM域0xFFFFF000のダンプはこうなってます。
FFFFF000 00 12 00 40 FF BF FB CD 10 28 00 22 FF FB BB 6F "...@.....(."...o"
FFFFF010 EA 00 00 02 EF FF ED 7F C4 60 00 42 F7 FB 7D FD ".........`.B..}."
FFFFF020 01 E2 00 10 F7 FB DF FF 40 00 08 10 FF EF FE EF "........@......."
FFFFF030 00 00 00 10 FF FF 7B FD 11 08 86 50 FF 7B FF FF "......{....P.{.."
FFFFF040 20 C0 00 02 BF FF 7F F9 85 02 04 02 FF FF F9 FF " ..............."
FFFFF050 00 20 04 21 F9 FF EF FB 84 53 00 00 FF EF FF FF ". .!.....S......"
FFFFF060 40 20 00 06 FF FC FF FB 00 01 08 24 FD FF EE FD "@ .........$...."
FFFFF070 04 02 04 02 BF 7F FF 7F 02 44 48 17 FF FB FE EF ".........DH....."
FFFFF080 00 00 04 00 BF FF FF FF 80 11 00 00 FF AB AD 7D "...............}"
FFFFF090 08 B1 80 14 DF FE FE FB 04 00 02 04 7F FF FF F7 "................"
FFFFF0A0 00 08 02 04 D7 EA 5F F9 00 00 05 60 E9 7D F7 E6 "......_....`.}.."
FFFFF0B0 01 00 20 32 FF E7 FF FD 01 02 92 05 7D FD FE DD ".. 2........}..."
FFFFF0C0 03 40 00 00 FF EF FF FF 01 00 01 01 FB FF BF BD ".@.............."
FFFFF0D0 00 85 00 80 FF 7F FF F7 A8 88 00 20 DF FF DA FF "........... ...."
FFFFF0E0 02 80 01 41 FF D7 7F DF 00 48 08 00 7F FF E7 7B "...A.....H.....{"
FFFFF0F0 02 00 08 05 FF FE F9 FF 8C 0E E0 C2 EF FB FF FF "................"
ダンプしたところをFコマンドで何か書き込んで、リセットして、ダンプしてみたらどうですか?
RAMの電源投入後の初期値は確かに不定だけど、 それは何が入ってるか保証しないってだけで、 ランダム性が保証されてるわけじゃない。 いろんな理由があるだろうけどチップ内部のレイアウトとかで ある程度のパターン性があることが多い気がする。
>>644 それやってみたんですが、リセットすると、やっぱり同じ値が書き込まれます。
なんでだろ。
自力で答えを見つけるしかないよ。がんばれ。
>>645 その通りでした。
メモリをダンプしてみるプログラムを自作して書き込んでみたところ
>>643 とほぼ同じ値が出てきました。
リセットするとわずかに変わるビットがあるようですがほぼ同じ値でした。
勉強になりました。
君らバカか。いつもそんなバカなことばかり書いているね。 はっきり言って誰も君らのこと相手にしてないよ?わかってるの? それって、自分ではおもしろいと思って書いているんだろうね。 きっと、薄ら笑い浮かべて書いているんだろうね。でもさぁ、 君ら以外の人には全然おもしろくないんだよ。 もしかして自分でもおもしろくないのに書いているんじゃないの? 自分でも何してるのかわからなくなってるんじゃないの? 家族からも近所からも煙たがられているんだね。 友達も彼女もいないんだね。会社でも浮いているんだね。 どこに行っても相手にされないんだね。 ネットでも無視されてここに流れ着いて来たんだね。 ここでさえ相手にされてないじゃん。どうするの?かわいそうに。 もう駄目じゃん。生きていても何もいいことないよ? どうせ誰からも相手にされないんだから、死んだ方がいいんじゃない? 相手にされないから奇抜な言動で注目を浴びようと必死なんだね。 始めは少し注意を向けてもらったのだろうけど、もう飽きられて完全に 無視されているね。それって迷惑なんだよ?気付いてる? おもしろくもないのに、意味不明な事を大量に書かれても目障りなんだよね。 さようなら。この世から消えてくれ。君らがいるだけで迷惑。 せめて最後ぐらい人里離れた山の中で自殺してね
___ クルッ… / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ || ̄ ̄|| <⌒ヽ )) <
>>649 はてさて、
| ||__|| < 丿 | どこを縦に読みゃいいんだ?
| ̄ ̄\三⊂/ ̄ ̄ ̄/ \___________
| | ( ./ /
651 :
774ワット発電中さん :2006/08/27(日) 14:33:32 ID:BH1pK76z
君はそき君も自家友どネ・・・
>>649 がんばったカキコの割にはみな釣られていないね。
ご苦労さん。
>何度も表示してるのに、どうして気が付かなかったんだろう。 チミがオバキャだから
オバキャじゃなくってもデバッグで焦っているときにありがちな落とし穴。
H8からM16に変更するメリットって何ですか? 処理速度?メモリー空間? ???
気分転換。
仕事絡みなのでメリットが無いとモチベーションが落ちます.....
数年前に受託でした仕事で m16使ったな。 そこもH8からm16に変更してた。 値段が安いのが理由だったみたい。 あと、m16 の売りは "ノイズに強い" だったな。
"ノイズが強い"の間違い。
三菱時代、m16cはH8に対抗するため、ノイズ対策をかなりやった。 出す方も受ける方藻ね。 そしたら、日立もh8sで同じような対策をしてきた。 さあ、どうしようっておもってたら一緒になっちゃった。
H8は汎用レジスタマシンで、基本的に演算はレジスタ間でやる(ビット処理は別ね) M16Cはアキュムレータマシンで、レジスターメモリ間の演算ができる。 コントローラ的用途なら、M16Cの方がコードサイズ、実行サイクル数で有利なはず。 大量データ処理ならH8の方が得意なのかな? データはルネサスが持っているはずだけど、出してはくれないだろうな。 M16CはH8よりシリアルの本数が多いから使いやすい。 CRC演算回路とか、キャラクタデータの縦横変換とかおもしろい機能がある。 でも、タイマはH8の方が使いやすい。 間違いを承知で言ってみると、こんな感じがしてる。 M16Cの設計は兵庫の北伊丹だから、大阪的に小回りを利かしている。 でも、その分覚えなくちゃいけないこともある。 H8は東京の小平設計だから、なんか四角四面に作ってある。 お作法がわかると使いやすいけどね。
663 :
774ワット発電中さん :2006/09/21(木) 00:02:14 ID:rzCdNKRz
H8300のクロスコンパイラ環境をcygwinでがんばってmakeして、いざgdbでシミュレート!と、思ったのですが、 % gdb hoge.elf (gdb) target sim
664 :
663 :2006/09/21(木) 00:03:36 ID:9jZf8gZh
途中でおくってしまいました、、、 % gdb hoge.elf (gdb) target sim Abort! とでてまったく前に進めません、最近のcygwin1.dllはダメなんでしょうかね。
秋月とかのH8の実機があるんじゃないのか? 実機が既にある場合、シミュレート環境ってのはマジでほとんど意味ないよ。 あと、Insightあたりを併用しないgdbのネイティブ環境だと使いにくいことこの上ないし、 デバッガとしてもcygwin上で使う場合はレスポンスが悪すぎ&非常によくフリーズする。 結局デバッガはHtermが軽くてお勧めだ。コンパイラの質も日立純正と比較すると足元にも及ばんし。
ホスト上でネイティブにプログラム作成&デバグ →クロスコンパイルして動作確認だけ →(°д°)うまー シミュレータ使うよりも、こっちが簡単で楽だと思う。 gdb使いたいなら、実機にシリアルポートとメモリに余裕があれば、実機上でgdbstubっていう手もあるかと
667 :
663 :2006/09/21(木) 15:07:42 ID:9jZf8gZh
実機あります。が実機なしでdebugできたら幸せだなあと思ったので。simはイミナシですか...
>>665 GCCはダメですかね。eCosつかってみたくって。
Redbootでgdbってのもやってみたのですが、terget remote でつなぐとgdbがabortします。.
>>666
>>667 >実機あります。が実機なしでdebugできたら幸せだなあと思ったので。simはイミナシですか...
>>665 イミナシ
何らかのアルゴリズムを開発したい場合や実機が手元にない場合にsimは意味がある。
実機が既に稼動状態にあって、組み込みのような割り込みとかハードウェアに密着したソフト開発をしたい場合、
simのためのcpu周辺の仮想化の方がよほど手間がかかる
>GCCはダメですかね。eCosつかってみたくって。
eCos使いたいという希望があるなら否定はせんが、手元にCPUメーカが開発したコンパイラがあるなら、
それが最強だ。それを優先して使うことを考えるべき。gccはそれがない場合の選択肢
669 :
774ワット発電中さん :2006/09/21(木) 19:51:00 ID:C2/EL6ou
>>668 >イミナシ
ばか出現!
イミがあるかないかは本人が決めるもんだよ。童貞くんのぼくちゃん解ったかな?
外野だが、 >イミナシ は個人意見で構わんだろ。 それをどう受け取るのかは本人が決めるもんだよ。
スマソ
>>670 なんか会話を取り違えてた。
本人のイミナシかとの問いにそのまま答えたわけね。
HD64F3048B 10000個 @900高いな
gccしか選択がない状況でSH4のコードを書いています。 renesasが自社コンパイラ向けに配布している、bit fieldを使ったヘッダファイルを使いたいのですが...。 生成コードを見てみると、16bit Registerに対して例えばbit0をアクセスすると 8bit幅のコードを生成し、 unionで括っている、bit幅合わせを無視しているようです。 オプション、#pragma等を調べたのですが見つからず。 既出ならすみません。 どなたか、SH3/4 + gcc + renesasヘッダファイル で正しくRegisterをbit filedアクセスする方法を 存じないでしょうか?
bit0のみだったら8bit幅でアクセスするのはありだと思うけど。
>>673 それ自分も2〜3日まえに偶然知りました。
gccでは16ビットレジスタはビットフィールドでアクセスするなってかいてありました。
TECHIという書籍です。
道具に頼っていたら先に進めないよ。
>>676 ??? アセンブリを使えと?
gccは「ビットフィールドアクセス時のアクセス幅は
無保証だからやんなよ!絶対にやんなよ!……でも………」
という記事をSH2特集のトラ技で見た気がする。
16bit以外ならできるのであってもやらないのが正解かと。
コード工夫すれば、回避方法はいくらでもあると思うんだけど。 何をしたいのかわからないから、これ以上回答できないよ。 記事を見ただけでだめだと思うより、 自分で検証のコード書いて動作確認したほうがいいと思うよ。
えっと、673です。 回避方法レスは不要です。 すみません。 したいことは、【renesasが配布しているbit fieldを使ったヘッダファイルを使いたい】です。 メリットは人それぞれでしょうが、記述ミスが格段に減ることと思ってます。
>>639 > 回避方法レスは不要です。 すみません。
なら、G C C で は つ か え な いが唯一の解答。
回避法不要だけど問題を回避したいなどという滅茶苦茶な願望は捨てるべき。
>>673 じゃないけど、馬鹿に一言。
>G C C で は つ か え な いが唯一の解答。
君が勝手に唯一の解答なんて思い込んでるだけじゃん。
>>679 がいう回避法とは
>>678 がいうコードを工夫した回避法。
それ以外の回避法はいくらでもある。
たとえばgcc自体を書き直すという問題回避法がある。
すでに出ているパッチを適用することも方法の一つだ。
>回避法不要だけど問題を回避したいなどという滅茶苦茶な願望は捨てるべき。
こんなこと言ってるけど、うえで見たように、中身からっぽな煽りは書いてる奴も空っぽだから、すぐにボロが出るんだよね。
自分のスキルのなさから問題への直截的な解答が困難だと解ると、直ちに安易な発想へ走る様は見ていて痛々しいぞ。
>>681 > たとえばgcc自体を書き直すという問題回避法がある。
難易度の高い回答だね。
680に一票。
>G C C で は つ か え な いが唯一の解答。 唯一の解答らしいねw
じゃ、模範解答を教えてください。よろしくお願いします。
685 :
680 :2006/09/23(土) 17:25:29 ID:P/s3pr98
うぉ!荒れている。荒す気はなかったがいい方きつかった。スマン。
687 :
774ワット発電中さん :2006/09/23(土) 17:34:51 ID:XfoJxa7p
>>685 などと言いつつニヤニヤしながらID変えの作業を始める煽り屋680であった。
673です。 > 回避方法レスは不要です。 すみません。 本題から逸れるのが嫌だったのと、書き方が不十分でした。 例) (*(volatile unsigned short *)アドレス) SCIF.SCSMR.WORD 他、など回避方法は分かるので、ということです。 各コメントを書いてくださった方、ありがとうございます。 上記内容にて、各位収めてもらえますか。 知りたいのは、unionで括った他メンバのアクセス幅に合わせる gccノオプションや#pragma指定等は存在するか?知っている方はいますか? ということです。
689 :
774ワット発電中さん :2006/09/23(土) 17:51:07 ID:XfoJxa7p
>>678 >何をしたいのかわからないから、
馬鹿ですか?ビットフィールド知らないでしょ?
ビットフィールドを使って記述したとき、コンパイル後のアクセス幅が問題になる理由も理解できてなさそう。
どうせ秋月のキットでサンプル動かしてみる程度なんだろw
>記事を見ただけでだめだと思うより、
>自分で検証のコード書いて動作確認したほうがいいと思うよ
自分で検証したがダメだったて書いてあるでしょ。
>>673 に。よく読めよ!
gccってのはリソースが十分あるときに、そこそこ思うように動くコードを吐くフリーコンパイラ 組み込み用途で、リソースも制限される中、極限の実行性能求められるような使い方には耐えない。 上で言われてるようなビットフィールドの話はそれ以前の話だけどな。 漏れ自身は、鹿取祐二の著書読んでH8でgcc使うのやめた。 多分gcc作った香具師も純正品のようなシビアな設計やってるようには思えない
いいコードを期待するなら、ルネサスにカネ払ってコンパイラ買え。 サポートも付いてくるのでウマー。
もともとビットフィールドはアーキテクチャに依存する仕様なんだから ビットフィールドの実装がルネサス純正と違うからといってgccが 使えないってことにはならないでそ。 バグが多いとか何とかいう指摘ならともかく、ね。
そこで78K0ですよ。 フリー版はコードのサイズ制限があるが、 コンパイラはそこそこ賢い、デバッガ、ライタも結構安い。 もーマンタイ。 …そんな俺はトラ技付録のH8で遊んでるわけだが。
H8だって60日まで売り物と全く同じ制限なしのコンパイラが使える。 それ過ぎたら64KB制限となるけど
696 :
初心者 :2006/09/28(木) 18:03:58 ID:lxdDSHSr
Interfaceの付録のSH7144Fを使っています。ROMには ルネサスのモニターを書き込んである状態です。Interfaceのサンプル プログラムとかをRAM上で動かすにはどうすればよいのでしょうか? セクションの設定とかを変えればよいと思いますが、どのように 行うのでしょうか? HEW4とHtermを使っています。初心者の質問ですが誰かお答え頂きたいです。
>プログラムとかをRAM上で動かすにはどうすればよいのでしょうか? 不可能です あきらめましょう
>>696 モニタに?打ってヘルプ表示させるとメモリマップが表示される。
そのメモリに合わせてHEWの設定をする
・ツールバーの『ビルド』から『SuperH RISC Engine standard toolchain... 』を選択
・開いたウィンドウで最適化リンカのタブを選択
・カテゴリはセクションを選択
・これでメモリマップを編集。又はコマンドラインを編集でも可
だと思うんだけど。これで出来てる。
違ったら誰か教えてくれ。
699 :
初心者 :2006/09/28(木) 21:03:49 ID:lxdDSHSr
ありがとうございます。 セクション設定の画面でPとかCとかPResetPRGあるんですが どのセクションをどこに動かせばよいのか分かりません。 適当に全部RAM領域に動かしてみたんですが、「いろいろセクションがオーバーラップ している」というエラーが出て直せません。 適当なセクションの配置を教えていただきたいです。また参考になるページ がありましたら教えていただきたいです。
>>699 >「いろいろセクションがオーバーラップしている」というエラーが出て直せません。
自分も同じでした。
何度も繰り返すのが確実だと思います。
自分の場合(ユーザー領域が0xFFFFE800から開始の場合)
コマンドラインオプション形式でいうと
DVECTTBL,DINTTBL/0FFFFE800,PResetPRG,PIntPRG,P,C,C$BSEC,C$DSEC,D/0FFFFEC00,B,R/0FFFFF800,S/0FFFFFB
となりました。
DVECTTBL,DINTTBLはこの基板の場合0x400分だけ占有するのが確定。
その他のセクションは順番に連続して入れてしまって良いのかと思いこうなりました。←このやり方は全くの間違ったやり方かもしれません。
結局全部同じ区域にしてユーザー領域開始アドレスから配置させたら早いとおもうのですが。
701 :
774ワット発電中さん :2006/09/28(木) 23:05:40 ID:z+WvQI4K
へー。 こんなスレあったんだ。 H8かぁ。 最初はマルチTEGのプロトが全てだったんだよな。 基本設計(アーキテクチャ構想と命令セット決定、論理設計)全部俺一人でやったんだ。 俺は、64ビットまでバカチョンで作れるように設計した。フラグも全て処理できるようにした。 DDFF(Dual Drection Find First One)を発明したっけ。 日立中央研究所501ユニットでね。 グッちゃん見てるかいwww ジュンちゃん見てるかいwww 澤瀬、こんにゃろーwww ハギヨ、ナカム、もう引退したかー????? 俺は元気だぞーwww ハギヨ=萩原吉宗:当時のユニット・リーダーだ。 もし、おまいらがこのカキコ見てたら、俺が誰か判るだろ。 これからが報復の始まりだ。 ルネの塚田さん、あんたにゃナシがあるぞ。連絡よこせや。例の件だ。
ここは駅の伝言板じゃないんだから、話があるなら直接電話しろよw。 しかし、まぁ >Drection お里が知れますわねw
703 :
774ワット発電中さん :2006/09/28(木) 23:17:56 ID:z+WvQI4K
あ、641ユニットだったっけ。 馬路、俺の研究を盗作してよくもIEEEに論文出してくれたな。 俺に謝辞しないで、増村に謝辞しやがって! 増村は気が狂って課長にならずに、幸福の科学に走ったぞwww
704 :
774ワット発電中さん :2006/09/28(木) 23:19:43 ID:z+WvQI4K
>>702 > お里が知れますわねw
アフォかw
現実を知らんヴァカは逝っとけ。
705 :
774ワット発電中さん :2006/09/28(木) 23:28:31 ID:wNmYcZG2
こんな人がSHを設計してたとは・・・・使う気がなくなったよ ヲレがLSIをやってたころ武蔵のコンピュータが遅くて中研のを使っていたなぁ 30年も前の話だが
漏れは武蔵のテスタが空いてなくて、深夜、中研のテスタを使いに行ったことがある。 やっぱ、森の中は気分が良いよね。 あんな環境でもひねくれるやつはいるんだ。
H8まででやめといてよかった…。
平成8年?
SH2は過去に戻ったことになるのか・・・ 昭和2年
710 :
初心者 :2006/09/29(金) 01:59:52 ID:BF/2hAgn
>>700 ありがとうございます。
ユーザー領域から初めて、適当にセクションをまとめたらうまくLEDが
チカチカ点滅しました。
ロードしたときに「CPU種類が違うか又は・・・・」というエラーメッセージが
出ますが、無視しても良いのでしょうか?HEW4でのCPU設定は合っているのですが・・・。
誰か分かる方がおりましたら、教えていただきたいです。
>>705 SH? 701はH8と書いてあるようだが
712 :
774ワット発電中さん :2006/09/29(金) 10:24:48 ID:7VwJdWqi
なんで日立辞めたかが興味あるよな。 どっかに引き抜かれたのかな? 引き抜かれた後の仕事も気になるね。 でも、日立以上の大会社って日本じゃないから、 部品とか購入するとき手もみしていた部品メーカ/商社の豹変ブリに呆れただろ?
> 全部俺一人でやったんだ > 俺は、64ビットまでバカチョンで作れるように設計した はったり & 思い込み野郎だろ。 常識なら1人でやったと書かん。 アンチか気違い。
自分より明らかに能力が上の奴の存在を見なかったことにしたいのはわかるが、 そういう香具師から色々教えてもらえることもある。先ずは謙虚になるこったな。
>>715 なんか勘違いしてるだろ
お前に言ってんだよ
勘違いさせるような文章を書くヤツが馬鹿
己が批判されてることすら読み取れなヤツは池沼
必死でわろた
日立は精神病を患う人が多いからな
"日立病"でググって見れ。
723 :
774ワット発電中さん :2006/10/01(日) 12:00:31 ID:fbxm7pfr
湯島の小平記念病院のことかと思った
724 :
初心者 :2006/10/01(日) 12:33:20 ID:7f8MBHoV
SH2(Interface付録SH7144)に関して質問です。 ~IRQ0-~IRQ7のポートはシュミットトリガ入力になっているのでしょうか? ハードウェアマニュアルを見ても載っていなかったので誰か 教えていただきたいです。また各ポートの等価回路が載っている マニュアルみたなものはあるのでしょうか?
725 :
774ワット発電中さん :2006/10/01(日) 13:15:23 ID:Hy6mg0sp
>>724 ハードウェアマニュアル見た? ちゃんと書いてあるぞ。
そういうことはIRQの説明の所に書いてないことがあるが、
「電気的特性」の所には書いてあるもんだ。
俺は今ルネサスのページからハードウェアマニュアルをだオンロードして
ささっと見て、3分で答えがわかった。頑張って調べてくれぃ。
質問があります。 SH4045Fを使用しています。 そのときLANの割り込みでIRQ3を使用していますが、 LANの割り込みが発生した後、特にIRQの割り込みフラグのクリアをしているようには見えません。 MTUなどはきちんとクリアしているのに、IRQはクリアしなくても 次の割り込みが来るものですか? 最近、ソースを渡されたので良くわからないのですが・・・
すみません、SH4045FではなくSH7045Fでした。
レジスタ読むだけでフラグクリアされるのはアリだと思う。
729 :
774ワット発電中さん :2006/10/01(日) 18:42:22 ID:ncspBKWR
age
ハードウェアマニュアルをよく読みませう。
731 :
初心者です :2006/10/01(日) 23:31:41 ID:OpSGKiMC
H8/Tinyを使い始めようかと考えています。 初歩的なことを教えて下さい。 H8/Tinyマイコン完璧マニュアル― H8/3694Fをベースにプログラミングの基礎から応用テクニックまでを完全マスタ (単行本) 島田義人著 という本がありますが、この本に書いてあることは、 (付属のCコンパイラやソースプログラムなども含む) AKI−H8/3664F(QFP) タイニーマイコン にそのまま流用できるのでしょうか?
できないだろうな、たぶん。
>>731 初心者じゃなければ応用できるけど…
初心者の程度もあるからね。
質問の内容からかなりの初心者とお見受けしましたが…
マイコンがまったく初めてなら素直に書籍の通りに実験を
繰り返しては?
734 :
774ワット発電中さん :2006/10/02(月) 12:50:33 ID:xDwM76do
AC100Vの電灯回路から64点を電磁リレー(64個)でとってきて マトリクス回路で 8ビットx8ビットでH8で検出したいんですけど リレー1個300円としても64個でちょっとコストかかるのと、 なにか良い方法があるのではないかと・・思っているので だれかアイディア下さい。 ようは AC100V64点の絶縁入力が出来れば良いです。 なにか良い方法ありますか??
735 :
774ワット発電中さん :2006/10/02(月) 14:42:24 ID:KVk09+KT
>なにか良い方法ありますか?? トライアック
なんでこのスレって、AVRとかPICのスレより過疎なの? H8とか使ってる人のが多い気がするんだけど。 語りつくされてもう話題がないってことか?
>>731 動作周波数とI2C以外はプログラマの観点から見ると同じだったような気がす。
ピン配置はまったく一緒なんだ、ハードウェアマニュアル見比べながらがんばれ。
>>731 もうどこか行ってしまったかもしれないが、、、
> AKI−H8/3664F(QFP) タイニーマイコン
> にそのまま流用できるのでしょうか?
秋月には3694F(QFP) のも売っている。すでに3664Fのを
入手済みなのか?入手前なら 3694買って本のとおりに進める。
3664でも違いはI2Cまわり。I2Cを使って外とやり取りしたり
内蔵EEPROMにアクセスするとき方法が違うくらいで
あとはまったく同じといっていい。(最高クロク16<->20もあるが)
本の進行が20MHZ前提で書かれていると厳しいな。16Mhzベースで
書いてあればそのままいけるよ。20Mhzなら新しく3694買うのがいい。
>>734 ONした回路の100Vをトランスや分圧で変圧して検出する
回路0の検出電圧:100×2^0/2^63 V
回路1の検出電圧:100×2^1/2^63 V
回路2の検出電圧:100×2^2/2^63 V
回路3の検出電圧:100×2^3/2^63 V
・
・
・
回路63の検出電圧:100×2^63/2^63 V
検出電圧を総和する
64ビット精度のADでデコードする
744 :
774ワット発電中さん :2006/10/03(火) 23:54:09 ID:QyPvYiMu
>>738 PICやAVRは決して使い易くはないよね、素人の皆さんが他を知らないだけでしょ。
PICは15年前頃にやったけど、デバッグが大変だよね(まだ3000個くらい在庫があるがもう使っていない)。
小さくて使い易いMPUはシリコンラボのC8051だよ。
デバッグはソースコードで出来るし、5μsのタイマ割り込みでも平気で動作する。
745 :
774ワット発電中さん :2006/10/04(水) 00:01:42 ID:H6+5Lt/E
>PICは15年前頃にやったけど、デバッグが大変だよね 今の「無料」シミュレータを一度使ってみることを進める。
746 :
774ワット発電中さん :2006/10/04(水) 00:13:04 ID:hI/W9vXf
>>745 誰も見向きもしなかった頃ICEを購入してPICを始めたが、
C8051の素晴らしさに慣れたからPICには戻れない。
知らない人にC8051を薦めたら、PICで製品を作るのを止めた。
>PICやAVRは決して使い易くはないよね、 AVRはCもタダだし、アセンブラもそれなりに、使い易いし、 非常に使い易いと思う。 PICはかなり拷問な希ガス。 でも、PICは非常にユーザーが多く、情報が多い。 AVRは情報少ない。 ハードとソフトの知識があるならPICよりAVRの方がいい。 H8も使うけど、高い、高性能な奴使うと半田付けが超めんどい。 ボード買うとさらに高い。ROM書き込み回数がAVRやPICより少ない。1/10以下? 今更アセンブラでは殆ど書かないんで、8bitで困るのは、 16〜32bit処理多発して処理がキツい時だけ。 AVRは1命令の殆どが1クロックなんで、結構速いからそうそう困らない。
↑そういえばPICにも一応タダコンパイラがあると聞いた気がする。
749 :
774ワット発電中さん :2006/10/04(水) 00:27:40 ID:hI/W9vXf
>>747 H8ほど機能を必要としていないならMSP430が良いよね。
現在の仕事では、C8051、MSP430、SH7145を使用中。
今もSH-2のコードを書きながら2ちゃんをやっています。
製品はH8とSH2が多くて、たまにAVRを使っている。 MSP430デーでUSBの開発セットもらったのにまだ使っていないです。 C8051を勉強する良いサイトがあったら教えて下さい。
PICは競合相手居ない状態で先行逃げ切りしたけど 普通にワンチップやりたい人にはお勧め出来ない AVRは逆にお勧め と、同じコメントだな
AVR/MSP430共に使ったことないが、流通や入手性ってどう?
753 :
774ワット発電中さん :2006/10/04(水) 10:37:11 ID:T85s+Mf4
>>752 アキバでは買っていないが、MSP430は千石電商に有ったよ
digikeyなら、注文の3日後には手に入る(ex:金曜夜注文で月曜朝@東京)
AVRのデジットキット買と決めた! そして、今日は雨 orz 電車乗ったら半額飛ぶっすよ
DIPのチップがあるのが使いやすいよ 表面実装のタイプはハンダ付けはめんどくさいし、基板作るのは大変だし 変換基板を使えば高いし、結局サイズはDIP以上になっちゃうし
>AVRのデジットキット買と決めた!
そーゆーことは、AVRスレでいっとき。
H8ボードは秋月で色々売ってるねー。
使い易いし、ボードとしてはかなり安い。
AVRと違ってライターも実質いらないし。(ボード内蔵?)
AVRも秋月で安く売ってる。200〜900円くらい。
ただ高性能な奴使おうとするとDIPじゃなくて、
QFPだからハンダ付けはめんどい。(H8に比べれば全然楽だけど)
ttp://www.geocities.jp/kuman2600/begintiny26.html#jk1 キットなんて買わなくても、
動かすだけならブレッドボードとCPUだけで動くし。
DIPのAVRはマルツのほうが新しくていいやつ売ってる
マルツのAVRって店頭在庫がいつもゼロなんだが…
ネタがあんまりないとはいえ、 AVRスレじゃないから、以降はAVRスレにしる。 SH7144てどうなんだろう。 取り敢えずインターフェースマガジンは買ってみたけど。(付録がSH2) 現状だとSH2ボードは高い。 秋月あたりが低価格でだしてくれると、興味が沸く。 50MHzとか、80MHzでも1サイクル1命令だそうな。 これもH8みたいにシリアルポート経由でRAM実行とか簡単に出来るんかな。
シリアルポート経由でダウンロードして実行って意味? それならすぐにできると思われるが、 キャッシュはないわ、バス幅16だわで性能はガタ落ちにならないかなぁ。 スタックと割り込み処理だけでもRAMに置けば多少はよくなるかな?
つーか、基本的に内蔵FLASHだけで動かすことを想定してるから キャッシュなんていらん。 もちろんスタックとかも内蔵RAM上ね。外部RAMに置くのは速度関係ないデータとか。
SH7058Fを使用して、シリアル送受信コードを書き、ループバック させてみましたが、なぜか受信割込みが挙動不審?で問題が起こります。 PCから00,01,02..7D,7E,7Fと、128バイトのデータレコードを延々と繰 り返し送っていますが、数十K〜数百Kバイトに一回位の頻度で同じデー タが2回受信されます。データが欠けたり、化けたりではなく、必ず、直 前のデータと同じデータが余計に受信されている感じでに見えます。(発 生間隔やその時のデータはランダムです。) ex.) 30,31,32,33,34,35 → 30,31,32,33,33,34,35 シリアルモニタによると、PC側が送っているデータは正常で、ICEで調 べると、SHで2度同じデータで受信割込みが起こっているようです。 なお、この時、シリアルのエラー割込みには飛んできていません。伝送系 のノイズでデータが化ける可能性があると思いますが、データがダブると なると、割込み要因の取り除きが上手くいっていないのかな?と疑ってい ます。しかし、受信割込みコードの処理順は、マニュアルに沿っていて、 その辺で検索できるサンプルと大差ないように思えます。 #pragma interrupt(vSciInt) void vSciInt(void) { unsigned char data; if (P_SCI2.SSR2.BIT.RDRF == 0) return; data = P_SCI2.RDR2; /* 受信データを取得 */ P_SCI2.SSR2.BIT.RDRF = 0; /* 受信済みステータスをクリア */ ssInsFifo(data); /* 受信データをシリアル受信FIFOに格納する */ } 何方か、原因と対処方法がわかる方がいらっしゃいましたら、教えて下さ い。長文、失礼致しました。
>>762 それって、受信バッファに同じデータが入っていたって事?
もしもそうなら、ssInsFifoの方に問題があるんじゃないかなと思うけど。
リングバッファにしてるなら、リングバッファの最終->0にする時
に問題があるんじゃまいか?......と思われる。
764 :
762 :2006/10/05(木) 18:51:02 ID:f+FXpdN8
762です。ICEで展開されたコードを確認しておりましたら、原因が判りま したので、フィードバックさせていただきます。 原因は受信側ではなく、送信側のコードでした。 今回、受信側を割込みで処理し、送信側はメインから送信レジスタの空きをポー リングして処理していましたが、この間のフラグ処理が問題だったようです。 void vSetTx(unsigned char data) { P_SCI2.TDR2 = data; /* 送信データレジスタに送信データをセット */ P_SCI2.SSR2.BIT.TDRE = 0; /* 送信開始 */ } 上記の、「P_SCI2.SSR2.BIT.TDRE = 0;」の部分の展開コードがRMWになってお り、SSRをリード後、加工されたデータの書き戻し前に受信割り込み処理が起 動されてSSRのRDRFがクリア(受信データ無し)されても、書き戻される データでRDRFが古い(受信データ有り)状態に戻る事があるようです。そし て、この場合、再度、受信割り込みが発生するようです。このため、数十万回に 一度ほどの割合で、受信割込みがダブってしまう事があったようです。以下のよ うな対策で、現象は起こらなくなりました。 void vSetTx(unsigned char data) { DI(); P_SCI2.TDR2 = data; /* 送信データレジスタに送信データをセット */ P_SCI2.SSR2.BIT.TDRE = 0; /* 送信開始 */ EI(); } さて、7058Fのマニュアルを見るに、以下のような記述がありますが、今回 の現象とは矛盾するようです。 『SSR は常にCPU から読み出し/書き込みができます。ただし、TDRE、RDRF、 ORER、PER、FERの各ビットへ1 を書き込むことはできません。』 少なくとも、RDRFには、上記のタイミングで1が書き戻されてしまっている ようです。 ご協力、感謝です。ありがとうございました。
>シリアルポート経由でダウンロードして実行って意味? ソーデス。 SH2の場合、書き込み回数も多い(1000?)とはいえないし、入手性も良くない上に、 値段も高いので、プログラムのテスト中はRAM実行の方がいいかなと。 ちなみに仕事用じゃなくて、遊び用の話です。 しかし内蔵SRAMだと容量が少ないし、外付けだと確かに遅くなりますなきっと。 >つーか、基本的に内蔵FLASHだけで動かすことを想定してるから 7144の場合確かに関係ないけど、200MHzとかになってくると、 メモリが追いつかなくなってくるから、キャッシュの効果はかなりあるでしょうね。 逆にCPUの動作クロックでアクセス出来るなら、外部メモリ意外意味ないですなぁ。 実際7144は付いてなかったような。 でも、フラッシュのランダムアクセスってそんなに速いんでしたっけ? バースト転送で4命令貯めておくみたいな、キャッシュに類するハードが付いてるのかな?
>>765 DRAMじゃないんだからバースト転送なんてない。
内蔵ROM/RAMは32bitバス幅で1ステートアクセス、
外付けRAMは16bitバス幅で最小2ステートアクセス。絶対に4倍は速度が出る。
こんな状態だから、CPUの速度に関係なくキャッシュはそれなりに効くはず。
フラッシュってそんなにアクセス速いんだ・・・ SHは使ってないと思うけど、 バースト転送するフラッシュはあった気がする。 まぁ速度を求めれば自ずとこの方式になるわけで。
SH7065Fはバーストだった気がス
769 :
初心者 :2006/10/07(土) 20:58:57 ID:g3JJuHPc
Interface付録基板SH7144Fについて質問です。ポートEを汎用出力として 使いたいのですが、PE0,1,2,4が既に1kOhmで吊り上げられています。JTAGなどは使っていませんが プルアップ抵抗を取ってしまっても通常動作に支障はないのでしょうか? また基板を修正することなく出力ポートとして使えるような気もしますが・・。 誰か詳しい方いましたら教えていただきたいです。
770 :
初心者 :2006/10/07(土) 21:00:42 ID:g3JJuHPc
1 kOhmじゃなくて10 kOhmの誤りでした。
いや、もともと通常動作しないから。あの基板。 まずは通常動作させろ。話はそれからだ。
772 :
初心者 :2006/10/07(土) 21:51:08 ID:g3JJuHPc
一応基板修正は済んでいて通常動作しています。PE0,2,4とかはMTUのPWM出力端子に なっているので、使いたいと思いまして・・・。
通常動作ってのは何を以って通常動作なのかねえ 言い切っちゃってますけどねえ
あの基板じゃ、何を持って「通常動作」と呼んでいいのか分からんよねw で、JTAG使わないならいいんでない? JTAG用のプルアップなわけだし。
CEATECのRenesasブースでCPUのこと聞いたら 適当にあしらわれた(秋月かトラ技の付録使ってる奴と思われたんだろう) ので、かなりむかついた。 H8の代わりになるCPUってNECか他社でありますか? これから開発する製品全部他社に変えてやる
SHでいいんじゃね?
>>775 大人気ないとは思うが、気持ちはわからんでもない。
個人的にNECの78Kシリーズなんかは結構注目してる。
すぐに代用になるものならこの辺かな。8ビットだけど。
ttp://www.necel.com/micro/product/sc/k2/index.html さほどスピードが重要でなければ、外部発振回路が不要でもうマンタイ。
ウチの職場では結構NECのマイコン使ってるみたい。
個人での遊びも78Kシリーズに移行したいんだが、金がないんで
今はトラ技付録のH8ボードに甘んじている状況。
AVRはデータシートがわかりにくいので使う気しない。
>>775 778の質問の通り、何を聞いたかで対応は違うと思うよ。
あそこの説明員は全員エキスパートが来ているとおもっちゃいけない。
実際に設計をしている人間でもなく、どちらかというと売り子なので、
詳細を聞いてもな。
また、当番で出ているので、M16C担当がH8の所あたりにいることも
ある。
あそこは、あくまでも今の「売り」や「ロードマップ」を聞くところなので、
細かいことを聞きたければ、サポートにメールをした方がよい。
>>778-779 あんまり難しい事じゃないけど、細かいこと聞いたら誰か解ってしまうので言わないけど、
LINがどのCPUで実現できるとか聞いたら知らんとか言われた。
他の担当に尋ねるわけでもなし、事務的に言われたので、アンケートにはボロカス書いておいた。
しかも、海浜幕張駅のルネサス広告はキモかったし。
なんかどっちもどっちって気が
782 :
779 :2006/10/08(日) 22:41:12 ID:XMHo4+4n
783 :
779 :2006/10/08(日) 22:57:34 ID:XMHo4+4n
>>780 連投スマソ
ほかの短刀に訪ねないのはそいつが悪いな。
ただ、短刀が会場に来ていないことをわかっていたのかも。
あんなとこで、変な質問されると焦るんだよね。
(昔、ほかのブースで立ち番してたことあるけど)
アンケートにボロカス書いたって事で、特定されちゃうんじゃない?
まぁ、広告がキモイのは確か。
広告費の無駄遣いだと思うが、知名度が低いのに焦っているんだろ。
>>775 >H8の代わりになるCPUってNECか他社でありますか?
こんなことも自分で調べられない奴が製品設計とは笑わせる
自滅して身元が割れちゃいそう
ヒント:ゆとり教育 調べる前に聞いてみよう、の発想
>>786 教育がなってないのはあなたかもしれませんね。
ゆとり教育といいながら、ゆとりがない件について。
ゆとり教育ってのは、マイコンの電気的特性でいえば、 出荷時の検査でマージンをとらないってことだよな。 だからオーバークロック耐性の無いデバイスでも 出荷されちゃうんだ。
金星 「あれさ、グランドクロス?おまえ参加する?」 木星 「うぃ」 火星 「参加」 地球 「一応いまんとこ」 海王星「あー・・・あれなぁ・・俺公転周期微妙にあわねぇんだよなぁ・・・」 水星 「マジ?」 天王星「周期なげーと大変なんだよなぁ」 土星 「だよな、そっちどーよ?」 冥王星「いや、おれ・・・」 金星 「どしたん?」 冥王星「その、おれ・・・無理なんだ・・・」 海王星「なんで?周期だいじょぶっしょ?」 冥王星「そうじゃなくて・・・」 水星 「なになになに、まさか自転がらみ? あらあらあらきてんじゃねーこれ、うはww」 冥王星「はは・・・そうじゃないよ。そうじゃなくて・・・俺やめるんだ」 木星 「うん?」 冥王星「……惑星・・・止めるんだ」 一同 「…」 (´;ω;`)ブワッ
やめるっていうより、兄弟だと思ってたら捨て子だったみたいな
ウチは昔NECの78Kのあるシリーズを採用したら、まだ出たばっかなのに ディスコンにされて、それいらいNECは禁止としました。 ツールが全部パーになったしな。最近は大丈夫なんだろうか
ディスコンとはなんぞや?
Discontinued
IF付録のSH2をHEW Version 4.01.01.001(無償評価版) を使っていじっているのだがHEWのバグが気になる。 int hoge; int hoge; と同名のグローバル変数を宣言したら普通のコンパイラはエラーを出すもんだが、 HEWだとコンパイルが成功してしまう。 評価版なのでこんなもんなのかな。製品版はちゃんとしているのかな?
マイコンのプログラムの場合はそれで正常だったりして。 いや知らんけど。
評価版なんだし、この製品てすげーバギーなんだなと評価してあげるのが正しいのでは。 ところで、それってエラーになるべきものなの? ヘッダに extern なしで宣言するためにも、重複定義できるようになってるほうが普通な気が。
gccでは"redefinition"でエラーになる。 VC++2005でも『再定義』でエラ−になる。 ややこしいことこの上ないので、エラーにするべきだと思いますよ。
ん? gcc 3.3.5 でエラーにならなかった。最近エラーになるようになったん?
3.4.3でも通る。 これは昔のコンパイラがチェックをしていなかったために互換性のためにエラーにしないらしい。 過去の負の遺産だな。でもせめてワーニング程度は出してほしい。 ちなみに、ワーニングはでるがこれでもコンパイル通るぞw a;a;b;b;main(){}
なんじゃ、そりゃ(w。
それ普通に通りそう てか、書いてる奴の問題だろ例えがヒド杉w
うぉーにんぐ
805 :
774ワット発電中さん :2006/10/11(水) 04:26:46 ID:Jitkq0m4
>>801 ワーニングってなぁに?
ひょっとしてウォーニングの事?
806 :
774ワット発電中さん :2006/10/11(水) 08:37:20 ID:UxTl53RG
笑うよな アワードとか言うやつも 漫才アワードなんていうアホ放送局が関西にアリ
kusakabeかおまいらは
コンパイル ワーニング の検索結果のうち 日本語のページ 約 25,200 件中 1 - 50 件目 (0.14 秒) コンパイル ウォーニング の検索結果のうち 日本語のページ 約 1,310 件中 1 - 50 件目 (0.32 秒) 情報処理の規格ではどちらを正にしてるのだろう
810 :
774ワット発電中さん :2006/10/11(水) 09:41:27 ID:UxTl53RG
walkmanをワークマンっていうバカいたよ workmanっていうX-win上のフリーソフトもあるんだが・・・
STAR WARS が スターワーズ だったら格好悪いだろ?
kusakabeはひとりで十分なのに。
へみへみ
スターウォーズ自体、団塊世代の懐古主義だから、きもいし格好悪い。
>>801 = ID:V9o5s9kB =
>>808 = ID:Wo3Ogomp =
>>816 がWarningの読み方すらわからない池沼ってことが判明しました
カッコワルッ
818 :
774ワット発電中さん :2006/10/11(水) 21:33:48 ID:3x1wtDjH
>>801 =
>>808 =
>>812 =
>>816 = ID:V9o5s9kB = ID:Wo3Ogomp = ID:3x1wtDjH
がWarningの読み方すらわからない池沼ってことが判明しました
いったい何がしたいんだこの人は。 自分で自分のことを池沼だと言うなんて。。。 つか、いつまで続けるつもりなのかと。
想像力不足な人が来ました
英語読みでいちいち突っ込む方がアホに見えるけどなぁ。 そもそもアップルをアポーと英語読みする日本人はほとんどいないし。 逆に、散々ランチ言ってた人々が最近では、 みんな、ローンチ、ローンチ言うようになったのは不思議。 その癖、er付けるとなぜか今でもランチャーと言う。 結局英語読みするか日本語読みするかなんて適当なんだよ。 君はアップルジュース下さいって人見つけたら、 「ぷっ、英語読めないんですか?」 っていちいち突っ込むのか? 恥ずかしい奴やな。
お前等、それ以前に脱線だぞw
何にでもつっこみたがるお年頃なんでしょう。
はい
825 :
774ワット発電中さん :2006/10/11(水) 22:36:53 ID:xwLJvm3D
ケツにネギでも突っ込んでろ
英語のカタカナ表記に関する議論ほど、不毛なことはないと思う。
明治維新の当時からずーっと不毛の論議 「ギョエテ」とは俺のことかと「ゲーテ」言い
>>826 えーと、もしかしてオレが何言いたかったか理解してない?
launchという言葉をランチあるいはラウンチと発音して人々が、
ここ最近なぜか急にローンチと言うようになったのが
不思議だねと言ってるだけだよ。(最近、会議とかで頻繁に使われる)
こーゆーのは先に定着した読みが、普通に使われるんだけど、
なぜかここ最近で急速に、ローンチが普通になった。
そしてさらにおかしいのは、er付けた場合は今でも日本語読みが普通ってこと。
わかった?
>>829 >>826 ではないが、結局何が言いたいんだ? 激しく板違いの話題だということしか分からないんだけど。
#釣られた?
831 :
774ワット発電中さん :2006/10/12(木) 15:50:33 ID:K8b5iC22
>>830 キサマがアホだということを言いたいんだよ。
理解しろ!アホ
>>830 突っ込むべきでないときに突っ込まずににはいられない、という精神の未熟さを物語っています
ところで何かH8関連の話題はないの?
KPITから取ってきたHEWのVersion 4.00.03.001なんだけど、 アップデートしようとすると「言語が違うからダメ」って怒られる。 どうやってアップデートしたらいいですか?
盛り上がってるなと思ったら つまらないことで盛り上がってるねー
ファーストフードのファストキッチン
>>826 確かにスレ違いなんで要約すると、
英語(apple)を日本語読み(アップル)するか、英語読みするか(アポー)なんて、
先に普及した読みが勝ちってこと。つまり適当に決まってる。
それを今更指摘する方が滑稽だねと。
インターフェースに付いてたSH2基盤に付けるSRAMって(同等品でも多少容量少なくても可)
秋葉原のどっかで売っていたりします?
↑間違った826じゃなくて830へのレス。
>>832 ルネサスがマルチコア対応のSuperHコアを開発
SH-X3 ってあるね。 SH-2A、SH-4Aの後でちょっとややこしい。 開発環境はどうなるんだろう? 効率のいいコード記述(CPU間通信)とかも想像がつかない。
>>839 COINSとかだとマルチコア対応のコードに変換してくれるよ
841 :
安田某 :2006/10/13(金) 23:40:28 ID:dxVPoc62
昔日立にはH16シリーズと言うものがあった.当初は,8ビットはH8 16ビットはH16で行くつもりだったんだろうが・・・ 結局H8が16ビットまでカバーしちゃったんでH16は消えてしまった. 忘れちまったけど,H16の命令セットってH8互換でしたっけ?
そういや、500系なH8って全然聞かなくなったな。まだ作っているのだろうか?
H16は68Kに似てはいたけれど別物。 68Kだとアドレスレジスタとデータレジスタの違いがあるけどH16は汎用レジスタ。 しかも16個のレジスタセットを持ち、リング状のリングレジスタとして使えた。 演算も計算結果をほかの場所に格納することができ、それぞれのアドレッシングは独立指定できた。 つまりメモリの10番地とR1の内容を乗算して結果をR6をポインタとして指定したアドレスに入れるなんて事ができた。 ある意味究極のCISC。 ただ、16個のレジスタセットが重く、高速化できなかったのと、68K に似ていたのがあだになった。 H8/300系、H8/500系とは互換じゃないですよ。
>>843 H8/500は作ってはいるようだけれど、新規の製品開発はない。
いまどき64Kのページ境界の制限があるCPUなんて使いたくないし。
モトローラやH8はアセンブラで書きたくなるけど、 インテル系はどーもその気にならない。 未だにx86のアセンブラは自分で書いたことない。
>>846 x86のアセンブラは覚えやすいよ。
PICマイコンのアセンブラを書くと感動のあまり・・・以下自粛
両方触ったことありますが、比較すれば、 68の方が圧倒的に使い易いし、覚え易い。 オレの周りでもx86の方がいいって変態は 見た事ありませんな。
386までならまだわからないでもないけど、いあ386の時点で変態すごかったが 現状のx86は6畳一間のアパートの上に増築の増築でヘリポートやらプールをつけたような むちゃくちゃな状態なのでアセンブラはあんまり書きたくないね
850 :
安田某 :2006/10/14(土) 22:54:00 ID:gi/UheL6
お〜い! H8,SHからずれて来たぞ.ってH16出したのは俺か.すまん. それとも H16は許容範囲かな.
記憶違いでなければ、モトローラと日立の間の特許訴訟の末に H16と型番を忘れたけど、6800系の8ビットのZTATを日立がやめる ということで決着したと思ったが。
日本の半導体産業ってセカンドソースで儲けてた時代が長いんだな
853 :
774ワット発電中さん :2006/10/15(日) 03:35:24 ID:GQqKUkw3
>>852 最初はコピー自由だったからね
4004をリバースしたHD35404の図面を見たことがあるよ
>>852 キーパーソンは日本のエンジニアだったよ。
亜米利加に産業スパイを送り込んでいたくらいだからな。 今もやってるのか?
いつのまにかH8-TinyシリーズにOSC内蔵版出てるのね。気が付かなかった F-ZTAT版だと8MHz/10MHz選択可能で周波数精度±3% リセットも内蔵しているし、使えそう。
>オレの周りでもx86の方がいいって変態は >見た事ありませんな。 おまいは、PICスレで発言してみると、・・・ その論理では、PIC厨はみんな変態アセン豚痴漢だから、 強姦されるそ。PIC厨には気を付けや
>>857 発言主じゃないけど、PICとAVR、ARMでもいいけど比較したらPICのASMの面倒さはPICユーザーどころか開発者すら認めるところだと思うよ
ただ、先行逃げ切りできたのでここまで広まっているだけつーたら
IntelCPUと同じだな ははは
>>853 >>857 最初にPICアーキを見たときには、HMCS400を8bit拡張したのかと思ったぞ。
>>780 ルネサスから車載LANマイコンのカタログが出たぞ。
>>858 H8は一時モトローラに真似したろと訴えられたが
PICはここまで変態アセンブラなら訴えられず安心かもしれんな。
それにしてもPICの変態ぶりは生産中止廃業を予感させるな。
RISCだから比べるのもなんだかな。
1命令4クロックもかかる癖して「俺はRISCだ」と言い張るのもどうかと思うが。
>>863 RISCのメリットは命令のクロック数が等しいこと。
PICにしてみれば良く頑張ってるが今は430があるからね
>>856 ついに出てしまったか…。
78Kも支援している俺としてはますます悩ましいな。
ところで、個人で遊んでる人たちはこの手のマイコンはどうやって使ってる?
変換基板?基板おこしてる?
俺は今のところ、トラ技の付録と秋月のボードかな。
まだ78Kは個人では買ってないけど、たぶんサンハヤトのDIPを
まず買うだろうな。
868 :
774ワット発電中さん :2006/10/18(水) 00:28:36 ID:hK9On7yg
ねー H-UDIの資料って、どこにあるの?
秋月H8 3069についてるD-RAMの アクセスにかかるクロックが知りたいんだけど、 自分なりに調べた感じでは5か6クロックの気がするんだけど、 合ってます? ファーストページモードもOFFになってるようなので、 メモリのデータも調べたいけど見つからない・・・
38347って新製品らしいな
なんだよ調べてみたら300Lかよ 3069もはやいとこJTAG対応にしろよ
873 :
774ワット発電中さん :2006/10/18(水) 02:34:39 ID:hK9On7yg
作らせないよう非公開にしております。
残念ながらH-UDIは非公開だそうな。 ルネサスに教えてとお願いしたところで、個人にはまず開示してくれない。 ネット上に資料はないので探しても無駄。
んで、ICEを作ってどうしたいのさ。 ICEなんて、もう世の中に溢れるほどたくさんあるだろうし、 この業界に新規参入は難しいぞ。 最近はずいぶん安くなったもんだ。
877 :
774ワット発電中さん :2006/10/18(水) 03:02:23 ID:hK9On7yg
>>876 ルネサスって、売れてるからって調子にのってると
思うの俺だけ?
うん君だけ。 ARMやMIPSやPPCと闘うために必死でしょ。 8bit/16bit分野でも、78KやらMSP430やら新たなライバル登場で、こっちも必死。 その上、調子にのるのらないっていうのと、非公開にするのは全く関係ないだろ。
でもH8にしてもSHにしても俺は好き。 HEW無料にしてくれたらもっと好きになるんだが。 いいだろ?開発環境ぐらいただで配布しても。