AVR H8 etc. マイコン総合スレ Part2

このエントリーをはてなブックマークに追加
803774ワット発電中さん
>>802
gccを使うのに、ルネサスのモニタを使うメリットって何なんでしょうか?

HEWのコンパイラだとルネサスのターミナルソフトを使ってソースデバッグできたと思いましたが。

gccとルネサスのモニタの組み合わせで、ソースデバッグができるんでしょうか?

それに普通は最初にモニタ用意するもんだと思うんですよね。期限前にコンパイルするのが
難しいこととは思えないんですが。
804774ワット発電中さん:04/11/03 17:55:19 ID:NZR7Vtvm
>>803
ルネサスのモニタつーとサポートで配ってる奴か?
最近(でもないか)のgdbなら標準で対応してるぞ。
805774ワット発電中さん:04/11/03 20:47:06 ID:7LYJa5Qe
>>804
Webで調べましたけど、gdbにパッチがあてが必要みたいですね。

動けばいいって話はあるんですが、標準で対応しているというのは誤解をまねく気がしますね。

パッチを当てなくても、動かせる方法があるなら申し訳ないんですが。
806774ワット発電中さん:04/11/03 22:29:56 ID:XzgXNS2f
>>803
>それに普通は最初にモニタ用意するもんだと思うんですよね。期限前にコンパイルするのが
>難しいこととは思えないんですが。

最初構築したモニタが動くメモリマップから変更したいときはどうする?
ソフト変更したい場合もそうだし、
初めはSRAMつないでました。途中で設計変更があってFPMメモリもつなぎたい。メモリ増設しました。
いくらでもある話。
リンケージスクリプト手で書けばいいし、俺は知ってるからHEWなくてもいいが。

>gccを使うのに、ルネサスのモニタを使うメリットって何なんでしょうか?
はぁ?君まったくわかってないんじゃないの?gccを使おうがルネサスコンパイラを使おうが実機デバッグにモニタは必須だ。

>Webで調べましたけど、gdbにパッチがあてが必要みたいですね。
ルネサスのモニタを使うためにはgdbにパッチを当てることが必要だ。
ただし、gdbにあわせたスタブってのもある。ルネサス製ではないが。
807774ワット発電中さん:04/11/03 22:43:21 ID:NZR7Vtvm
>>805
それは4.xのころの話でないかい?
5.1あたりから標準で対応してる。とりあえず手元にあった
5.2.1のソースにhms用のコードが入ってるのは確認した。

漏れはgdb-stub使っているので実際に使った事は無いが。
808774ワット発電中さん:04/11/03 22:48:15 ID:XzgXNS2f
>>807
いやパッチは必要だ。因みに俺は6.2.1にパッチをあててgdbをコンパイルして使ってる。
嘘だと思うなら実験すればすぐわかること。
809774ワット発電中さん:04/11/03 22:57:17 ID:XzgXNS2f
ちなみに
hms == Hitachi Micro Systems
であって日立モニタとは何の関係も無い。gdbは標準で日立のモニタコマンドに準拠していない。
810774ワット発電中さん:04/11/03 23:08:19 ID:XzgXNS2f
gdb-stubっていうと多分dddからgdb使ってるんだと思うけど、
Linux or FreeBSDから使ってるの?
Cygwinからgdbを起動してメモリをディスアセンブルするとなーんか遅くて仕方がない・・・
それに比較してHtermは早い早い。結局ルネサスのモニタが手放せない・・・
811774ワット発電中さん:04/11/03 23:32:15 ID:7LYJa5Qe
>>806
ちょっと趣旨が違いますね。単にルネサスのモニタじゃなくてもいいんじゃないのっていいたかっただけですよ。
期限があることが分かっているのを無理やり使えば、苦労があるのは仕方ないんじゃないですか。

代替の手段がないわけではないんですから。 gdbを使うだけなら、gdb-sutbのあるモニタがあればいいんですから。

ちょっと力のある人だったら、はじめからgccを使うでしょう。どうしてもHEWというのなら詳しくは
知らないですが、KPITというgcc主体の開発システムは、HEWの下で動くらしいですし。

それに、それだけ設計変更できるような人だったら、リンケージスクリプトの記述とか問題にしないでしょう。
いったいどんな人が、ルネサスのモニタのリンケージスクリプトが分からなくて困るのか分からないですね。 

一からmakefileを作るのは大変ですが、事前にmakefileを作っておけば、変更点を見つけるのはそう難しくは
ないでしょう。 たかが、リンケージスクリプトが書ける程度のことがどれほどの自慢できることなのか知りませんが。

言うまでもないでしょうが、プロは評価版も使わないし、ICEを使う場合が多いですから、そもそもデバッグモニタも使わない。
しかし、知っていないとしても、必要があれば何とかするのがプロですよね。
812774ワット発電中さん:04/11/03 23:45:24 ID:tmwdHhQU
>>797
thx
813774ワット発電中さん:04/11/03 23:58:58 ID:XzgXNS2f
>>811
モニタをCでコンパイルしたいの?
わざわざアセンブラソースがあるものを!わざわざCでコンパイルしてコードを大きくしたいの?
そして日立のアセンブラがgasで通らないことも知らない?
それとgmakeのmakefile書くなんて簡単だよ。少なくともUnixで遊んだことある人なら何の問題も無い。
でも日立のリンカスクリプトは日立リンカを使ったことのある人で無いと書けない。
とっとと自分の書いたソフトを動かしたいのにその前にリンカの仕様から調べなきゃならない。
もちろんその前にバスコンフィグレーションも調べなきゃならない。
あまりにも敷居が高すぎる。実際、俺はそのプロセスをたどってきたから言ってる。

>gdbを使うだけなら、gdb-sutbのあるモニタがあればいいんですから。
プププ
どうでもいいけど君。ほとんどわけわからずにカキコしてることだけはわかった。
814774ワット発電中さん:04/11/04 00:02:39 ID:SAvmLsRr
>>811
>いったいどんな人が、ルネサスのモニタのリンケージスクリプトが分からなくて困るのか分からないですね。
それはまさに君だ。
リンカスクリプトという言葉を今日生まれて初めて知った君には書けない。
815774ワット発電中さん:04/11/04 00:07:21 ID:s8n7f91t
('A`)モウカエレヨ
816811 じゃないよ:04/11/04 00:17:14 ID:7K50eBWg
>>813=>>814=自称院生の人 なのか?
817774ワット発電中さん:04/11/04 00:58:06 ID:88msLrpA
>>813
gdb関係やモニタに関して大した知識がないのは事実ですね。 商品版のHEWとICEでしか開発したことないですから。

使ったことのないものを確認せずに話をしてしまう。あなたと同じ間違いをしてしまいましたよ。

実機デバッグにモニタは必要とありますが、ICEを使う限り少なくとも自分で用意する必要はないですからね。

ルネサスのモニタで苦労されているようですが、そういう苦労は自分には無縁なものですから。
818774ワット発電中さん:04/11/04 01:22:06 ID:SAvmLsRr
>使ったことのないものを確認せずに話をしてしまう。あなたと同じ間違いをしてしまいましたよ。
俺は君とは違って知ってることしか書かないし知らないものを知ったかするつもりはないよ。

>gdb関係やモニタに関して大した知識がないのは事実ですね。
確かにロクな知識を持ち合わせてないようだが、どうせ言うなら
gdb関係やモニタに関して"も"だろ?

819774ワット発電中さん:04/11/04 01:27:27 ID:88msLrpA
>>818
それは失礼しました。これはあなたではなかったのですね。

>>771
>君ド素人そのものだね。
>modelsimはMentor製だ。
>半導体メーカーとサードパーティーの区別もつかないの?
>それともmodelsimが主力商品のソフト会社に多額のライセンス料をXilinxが払って
>Xilinx特化バージョンをフリーにして配布するのかよ?
820774ワット発電中さん:04/11/04 10:25:33 ID:22YR4yEp
>実機デバッグにモニタは必要とありますが、ICEを使う限り少なくと
>も自分で用意する必要はないですからね。

オヂサンはICEにさんざんだまされてきたから、どうも
モニタを走らせないと安心出来ないというイヤーナな性格に
なってしまったでした。
えぇ、えぇ、JTAG-ICEなら昔のような心配は無いという
のは承知していますけども。
821774ワット発電中さん:04/11/05 06:48:19 ID:ban/t8xq
>>820
昔のような心配って何ですか?
822774ワット発電中さん:04/11/05 10:12:05 ID:6+kZlNNc
昔はCPUを引っこ抜いてICEをつなぐという形だということもあって、
ICEをつなぐと動く/動かなくなるっていうのが往々にしてあったし、
ICEとCPUでは挙動が違うなんていうことも結構あった。
823774ワット発電中さん:04/11/05 10:36:02 ID:2cSQ9WYO
>822
今でもフルICEとROM-ICE、JTAG-ICEの挙動が違う事はザラですがな。
特にICEなんか慢性人材不足な会社で作ってる事が多いので(KMCとかソフィアとかunidaxとかいろいろ)
わらわら出てくる新CPUへの対応だけで手一杯だったりするそうですよ。

高速化してくるとピン容量が違うのでフルICEでは動くけど実機じゃ動かない
(逆もあり)というのもありますしね。
今も向かいの席で同僚がJTAG-ICEで動くのにスタンドアローンで動かないと苦労してますよ。

ところで、PICやAVRの場合フルICEってあるのかなあ?なんかエミュレータ+ポートシミュレータで
開発した方が早かったりして・・・
824774ワット発電中さん:04/11/05 12:46:11 ID:t9LyPZlm
>>823
関連質問なんですが、AVRのJTAGICEmk2でATTiny2313とかをDebugWireでデバッグしている人がいたら
使用感なぞ聞きたいです。
ちょろっと読んだだけなんですが、DebugWireで「書き込み←→デバッグ」を行う時って、
Tiny2313にAVRISPとJTAGICEを両方つけて、一々、なんかすごく面倒な手続きをするみたいなんですが、
どうなんでしょうか? ATmega16あたりをJTAGICEでデバッグするのは別に面倒でもなんでもないんですが。
(JTAGICEで書き込みが出来るから)
825774ワット発電中さん:04/11/05 15:02:57 ID:xSbT+Li5
AVRにもフルICEあるけれど、滅茶苦茶高いよ。
826774ワット発電中さん:04/11/05 20:18:10 ID:dojL+tRa
>>825
ICE40 とか ICE50ってやつだっけ?
ICE40=112852円
ICE50=396970円
(digi-key)
827774ワット発電中さん:04/11/05 22:46:18 ID:26L9RKU5
>>826
それくらいなら安い方だろう。
物によっては一ヶ月分のレンタル代でもそれより取られるぞ。
828774ワット発電中さん:04/11/05 23:12:06 ID:21hFP8oy
AVRあたりなら、FPGA使ってICE込みのAVR互換チップ作れないかな?
ブレークとかトレース機能付きの。
だれか作って、エロい人。
829774ワット発電中さん:04/11/05 23:21:44 ID:99zZOr1B
>>828
オープンコアを知らないのかな?
AVRのコアは既に互換の物がHDLで公開されてる。
830774ワット発電中さん:04/11/06 01:54:56 ID:DL40GdcD
>>828
AVRを使いたいためだけにFPGAを引っ張り出すのはコスト的に厳しくならないかい?
AVRのIPも完全に現物と同じとは限らんからのぅ
831774ワット発電中さん:04/11/06 06:55:57 ID:WWKEZk09
用途にもよるが使い慣れたマイコンを大規模なFPGAの中に入れておいてデバッグなどに
使うってのは割と良い感じかも知れない。
でも>>830の言うことも一理あって、只のIPはデバッグが終わってない可能性があるからバグを
抱えてる可能性もあるのが怖い。

832828:04/11/06 09:10:33 ID:QLbb9if0
俺が言いたかったのは、
高いICE買うくらいならFPGAでICE付きAVRを作れないかってこと。
ソフトのデバッグが完了したら普通のAVRにさしかえればよろし。

>>829
そのコアにはICE機能は含まれてますか?
833774ワット発電中さん:04/11/06 09:31:50 ID:Qx83pKXP
>>832
http://www.opencores.org/

これだけヒントがあれば自分で調べられるでしょ。
ついでに言うと、AVRならICEは要らないんじゃないの?
若しくはモニタソフトを作っておいてそれでデバッグすれば良いことだし。
834774ワット発電中さん:04/11/06 11:03:34 ID:2Jr/4hgK
顰蹙買うかもしれないが一言。

正直、デバッガがないとデバッグできない人ってのはプログラマとして無能だと思う。
端的に言えばデバッガなんて(たいていの場合)イラネ。

デバッガ使ってデバッガに起因する余計な苦労を背負い込むくらいなら、
同じ時間を設計とかコードの可読性向上に神経を配ることに当てたほうが
よほど生産性が高い。

20年前ならともかく、今の開発ツールならアセンブラでも十分可読性のある
コード書けるんだから。
835774ワット発電中さん:04/11/06 11:05:27 ID:J+3zauwn
おしえてください〜
mega8のTCCR1Aレジスタについてなのですが、
FOC1A/FOC1Bの意味が今ひとつわかりません。
これはたとえばCOM1A1-A0を10(比較一致でLo)を11(比較一致でHi)に
切り替えた場合、そのままだと比較一致が起こるまで変更は反映されないが
FOC1Aに1を書き込むと即時反映されると読めるのですが、これは
たとえば比較一致でHiを比較一致でLoに切り替えた場合、
FOC1Aを書き込まない→次の比較一致ではHiを出力後モード切り替わり、さらに次の一致でLo出力
FOC1Aを書き込む→その場でモード切り替わり、次の比較一致でLo出力

ってことなんでしょうか??
836774ワット発電中さん:04/11/06 11:18:01 ID:2TKQv7sE
atmega48系ってIOの一部が拡張アドレスになってて
アセンブラでCPI命令とかが使えないね。
837774ワット発電中さん:04/11/06 11:50:41 ID:J+3zauwn
>>836
CPI命令って汎用レジスタ(r16-31)以外にも使えるのですか?
megaで拡張されたの?それともアセンブラ上の疑似命令?
838774ワット発電中さん:04/11/06 13:09:19 ID:3a2HpE08
CBIの間違いだと思われ
839774ワット発電中さん:04/11/06 13:47:25 ID:J+3zauwn
CBIについては、
at90s*のころからアドレス$20以降には使えないような気がする。
at90s2313のデータシートIOレジスタ一覧の備考にも書いてある。
たぶん、in/outが使えないで、メモリのようにld/st系命令を使わなきゃいけないって話では。
840774ワット発電中さん:04/11/06 18:32:39 ID:/NO6CYy6
>>834

ハードが間違っていたり、コンパイラにバグがあったり、仕様書通りになってないとかザラだからな。
余計な苦労はデバッガだけじゃありませんよ。

デバッガなしでデバッグできないのは無能なんて言ってたら、世の中に有能なプログラマは0ですよ。
841774ワット発電中さん:04/11/06 20:07:15 ID:o3m1Bkvm
>>834
喪前、ICEのマニュアル精読してセットアップするのがめんどいだけなんだろ?
そうだよな、今時のフラッシュマイコンならそんな苦労しているうちに先に
進めるもんな。だが、OTPが主流だった頃は(ry
842774ワット発電中さん:04/11/06 20:27:34 ID:oegKI9+s
>>834
あんた組み込みの仕事したことあるのか?
発言から汎用機とか業務系、UNIXerの匂いがプンプンするぞ。

ワンチップマイコンの世界はソース見てバグが取れるほど生易しいもんじゃないぞ。
可読性のあるコード?何寝言こいてますか?
そんなメモリスペースが余ってればワンランク下のマイコンにしてコスト削減を狙うのが
この業界の手法。
841の言う通り、OTPの頃はまさに一発勝負。失敗したら(下手すると)ウン千円の
ICがパァ。で、入手したICを使いきろうものなら納期が何週間なんてのもザラ。
変動する外部信号にあわせて動作するプログラム(タイマなんて当然ないマイコン、
しかもクロックは消費電力削減のため最低限、RAMもないからログすら取れない)
のデバッグなんてICE無しでは不可能に近い。
843774ワット発電中さん:04/11/06 20:27:44 ID:QYsU+jzW
漏れはだいたいロジアナ使ってデバッグしていたな
少なくともICEよりは信用できた
844774ワット発電中さん:04/11/06 21:24:18 ID:oegKI9+s
>>843
ロジアナとICE?が合体したやつがソニーテクトロから出てたような。
正直最強だと思うぞ。

てか、ワンチップマイコンなのにどうやってロジアナを突っ込むんだ?
845774ワット発電中さん:04/11/06 21:36:43 ID:55XRSYln
あ、ほんとだ。
ATmega48って拡張I/Oアドレスなのか。
でもなんか意味もなく上に追いやった感じだなぁ。
in/outの使える下の方ガラガラじゃん。
846774ワット発電中さん:04/11/06 22:16:15 ID:QYsU+jzW
ワンチップの時はチェックポイント毎に信号出して
「ここまで走ってきてるな」なんてやってたね
ピンが余っていたからできた技だけど。
ICEにさんざん泣かされて、とうとうそっちに行ってしまった
ICEがあるような物ばかり選ばせてくれないし、あっても
なかなか買ってもらえないし、レンタルしても高いし・・・
847774ワット発電中さん:04/11/06 23:54:14 ID:FDwAUySY
836です。
CPIとCBI間違えてました。すんません。
IgorPLUGUSBのコードをMega48に移植しているんだが
拡張I/Oのおかげで滅茶苦茶めどい。
848774ワット発電中さん:04/11/07 01:01:44 ID:ZuVX/dIr
>>845
mega64などのIOを見ると、がらがらとも言えないのかな〜と思った。
IOレジスタがPORTGまであるんだなあ。PORTA〜Eを基本IOに納めて、
使用頻度が低い?PORTF,GやTimer3やOCR3なども追い出して、
UART関連など速度を要求しない物を追い出した格好なのかなあ。
849774ワット発電中さん:04/11/07 12:11:19 ID:78edq52s
>>846
普通にICE使っているけど、それほどトラブルにあったことないけどな。
確かに、実機で出るけどICEでは出ないトラブルはあるけど。頻度はかなり少ないし。

C言語だったらソースデバッグじゃないとやってられないしな、特に最適化しなくても、
コードを消したり、理解しづらいコード出すコンパイラも多い。

デバッガ使うのは無能だとか訳わかんないこと言う人もいるから、ロジアナあれば十分て
人もいるかもしれないけど、大変すぎるよね。

プロでも、アセンブラでプログラム組んだことない人は、今では珍しくないし、ロジアナで
デバッグできる人自体が少ない。そもそも、自分の周りでロジアナデバッグの経験のある人も
いない。
850774ワット発電中さん:04/11/07 15:31:59 ID:RiOfKko5
>プロでも、アセンブラでプログラム組んだことない人は、今では珍しくないし、

上にあるように、コンパイラのバグとかいうことまで考えるなら、
最低限アセンブラのソースコードを読める程度でないと困るだろ
うし、ハードの問題とかも考えるなら、ロジアナやオシロの使い方
位分からないと効率悪くてしょうがないんではないかな?
851774ワット発電中さん:04/11/07 16:35:42 ID:78edq52s
>>850

コンパイラのバグということまで考えるならの回答ということであれば、 通常はそこまで
考えない でしょう。 

 頻度も低いし、普通は困らないんじゃないか。 なんかおかしいなって思っても、
別の書き方をして回避する場合が多いのでは。アセンブラ分かっていてもいなくても、
試行錯誤で変更して直すしかないのは同じでしょう。

ロジアナやオシロの使い方くらいは、みんな知ってますよ。ロジアナ使ってトレースして
デバッグする人はいないということで、使わないっていうことじゃないですよ。
852774ワット発電中さん:04/11/07 20:28:12 ID:nckuUAMg
>ロジアナやオシロの使い方くらいは、みんな知ってますよ。
アセンブラ使ったプログラミングなんてみんなやってますよ。
できない奴は単なる無能なお嬢ちゃん。金もらう価値なし。
おとなしくJavaプログラマでもやってな。
853774ワット発電中さん:04/11/07 20:48:20 ID:78edq52s
>>852
どういう世界の人なんでしょうか。世の中のことをご存じないんでしょうね。
アセンブラのできるプログラマって人を集めようとすると、年齢の高い人しか今ではいませんよ。

制御といえども数万ラインの世界。アセンブラでのそのそプログラムしている時代は当に終わってますよ。
ルネサスのH8コンパイラなんかも、C言語ですべて記述することが可能になっています。時代の要求に
応じているんでしょう。

アセンブラで記述するとしても、スタートアップルーチンくらい。割り込みをアセンブラで記述することは
まれにありますが、ほとんどの場合C言語の記述ですよ。

確実にアセンブラを使っている業種なんてパチンコ業界くらいしか知りませんが、どういう業界が使っていると
いうのか教えていただいたいものですね。
854774ワット発電中さん:04/11/07 21:13:36 ID:78edq52s
>>852
おっと、H8でC言語で全部記述したことはないけどね。調べた限りでは、スタックの設定やベクタの設定も拡張機能で
できたはず。すぐに、侮蔑の言葉を吐く心貧しい人がいるから念のため。
855774ワット発電中さん:04/11/07 22:24:55 ID:RiOfKko5
>コンパイラのバグということまで考えるならの回答ということであれば、 通常はそこまで
>考えない でしょう。
その言葉、そっくりそのまま>840に投げてみた方がいいんでは?

>アセンブラ分かっていてもいなくても、
>試行錯誤で変更して直すしかないのは同じでしょう。
アセンブラが分からないと、果たして記述の変更が妥当なのかどうかさえ
分からないんではないかと。たまたまメモリマップが移動したために現象
が出なくなったように見えるなんてことだってあるし。原因をちゃんと掴ま
ないまま、結果オーライで製品にしちゃう勇気ないでしょ?

>853
H8は知らないけど、スタートアップルーチンも勝手にくっつけてくれたり、
割込も勝手にベクタに登録してくれるようなコンパイラもあったけどもね。
それでもさすがにタスクスイッチングさせるようなところはアセンブラで
コリコリと書いてやらないと駄目だったな
856774ワット発電中さん:04/11/07 22:26:15 ID:nckuUAMg
>>852
そのスタートアップルーチンの記述もできないバカは黙ってな!
857774ワット発電中さん:04/11/07 22:29:09 ID:nckuUAMg
>スタックの設定やベクタの設定拡張機能でできたはず。
これはC言語の機能じゃない。メモリマップの機能。
Cで書くときはこれができなきゃ当然プログラムにならない。
858774ワット発電中さん:04/11/07 22:40:15 ID:nckuUAMg
>>855
>>853はアセンブラ書いたことないし、書けないんだよ。
できない奴はなんやかんやと理由つけて己の無能を弁護したがるもんよ。
859774ワット発電中さん:04/11/07 22:51:28 ID:78edq52s
>>855
結果オーライってのは、現実としてあるんじゃないですか。たとえアセンブラで調べても、ポインタの
ミスで変数が書き換えられているのか、コンパイラのバグなのか区別するのは難しいでしょう。

納期が限られている場合が多いし、なかなかコンパイラのバグを見つけている余裕はないでしょう。

タスクスイッチを書くのは、さすがにCではできませんが、誰でも書くってルーチンではないし、
できなければ、市販のリアルタイムOSを使うてもあります。マルチタスクは、信頼性と機能、デバッグの
しやすさを考えると、必ずしも自作がいいとはいえないでしょう。
860774ワット発電中さん:04/11/07 22:54:01 ID:78edq52s
>>855-858

あえて反論はしませんが、しいて言えば、お父さん、お母さん、学校の先生でも結構ですから
言葉遣いを習ってきて、ちゃんとした言葉つかいができるようになったらお話しましょう。

自分の書いたものをみて、心の貧しさが読み取れませんか?
861774ワット発電中さん:04/11/07 22:58:01 ID:nckuUAMg
まともな言葉遣いを期待したいんなら初めから2CHには来るな!
H8ならメーリングリストもある。
それより、も・少しましなスキルを身につけてからここにおいでお嬢ちゃん!
862774ワット発電中さん:04/11/07 23:40:02 ID:RiOfKko5
タスクスイッチングたって、別にそんな大げさなものじゃない
んだけどな。単に処理の見通しを良くするためにタスク分けして
簡単なタスク間通信機構を付けて通信させたり。一定周期で
面倒みるような場合でも楽だしね。そんなもの買ってくるまでも
無くてチョロチョロっと書いて実装してしまえばいいだけ。
数万行もあるコード書くのに比べれば楽なもんだと思うよ。

>たとえアセンブラで調べても、ポインタの
>ミスで変数が書き換えられているのか、
>コンパイラのバグなのか区別するのは難しいでしょう。

少なくともCの記述変更でうまくいくようになった部分があっても、
本当にそれが原因だったのかということは生成されたコードを
比較してみればいいことだろ?どちらでも全く構わない
ようなところなら、それはたまたま現象が他に移っていく
だけで何の解決にもなってないという可能性が大だから、
真の原因を探らないといけない。
明らかに生成されたものがおかしかったならコンパイラ
のバグだということになるから、今度は「こういう記述はヤバい」
というのを調べてやらないとまずいだろ?他にも同じような
書き方をしているところが他にもあるかもしれないとは思わない?
863774ワット発電中さん:04/11/08 00:16:16 ID:2fVnk3bD
アセンブラで困るのは、CPUによって、例えばBCC(キャリークリアでブランチ)の記述が違うことだ。
NOPは、殆ど(というか、例外を知らない)NOPなのに、BCCは、BTFSCとかBRCCとか、
そもそも演算結果が負ならキャリーが立つのか、立たないのか、とかとにかくCPUで
違いすぎ。その点Cなら
if ( val > 4 ){ }
っていう表記で統一される。

逆にCで困るのは、(unsigned char)val みたいに、キャストをちゃんとつけないと、
勝手に符号拡張とかされたり、 volatileをちゃんと入れないと、勝手にループを
省略されたりすることだ。

なかなか これ といった言語が無いんだよねぇ。

864774ワット発電中さん:04/11/08 00:23:58 ID:UT2hqQdT
BASICコンパイラで気軽に楽しもうぜ
865774ワット発電中さん:04/11/08 00:40:47 ID:bfFyltgp
>>862
マルチタスクの機能を入れるってのは、結構理解を得られにくい場合もあるんですよね。

自作のマルチタスクは嫌がられる場合もありますね。 実際、自分が嫌といったこともあるし、
使わずにやってくれと言われることも多いです。 作るのはともかく、確認はどうするんだって
話はありますよね。

結局自分のまわりでは、マルチタスクモニタを自作するような選択はされませんでした。
あなたの周りではそんなにマルチタスクモニタを自作しておられるんでしょうか?

(CPUが変わったので、タスクスイッチングを移植したことはあるが、これは、ノンプリエンティティブで
タスクスイッチングの機能しかなかった)

原因を調べるというのは、正論と思いますよ。他に言うことはないですね。 
866774ワット発電中さん:04/11/08 00:53:15 ID:6AlbBliD
Cって高級アセンブラのことでしょ(w
867774ワット発電中さん:04/11/08 01:09:25 ID:+7bEAp6c
>マルチタスクモニタを自作しておられるんでしょうか?

ごく普通のプログラミングだから必要だなぁと思ったら当たり前
にやってるけどな。
リソース管理とか仮想記憶とか言い出すと面倒くささ炸裂
だけどそこまでしなくても良い用途はいくらもあるし、単に
タスクの状態保持のブロックをアイドル、ビジー、タイマー
の3つのキューで管理する程度でも充分な用途はいくらで
もあるのでは?タイマー使って定周期で起動かけるなんてい
うのとかも何かと便利だし。

そんな大それたものと思わずに、単なるお役立ちテクニック
として身につけておくと何かと楽できて便利だよ。

>866
yes(w
懐かしいなぁ〜その言い方。要らぬ最適化はしなくて、ソースから
どう落ちるか想像できてしまうのがCだったよね。
(それに比べてPL/Mときたら・・・)
868774ワット発電中さん:04/11/08 01:34:32 ID:2fVnk3bD
>>866
構造化アセンブラっていうのもあったな。MACROS。(といっても、バルキリーじゃないぞ)
$_while TRUE
$_getchar CH
$_if <cmp CH,80h>,GE,AND
$_c <cmp CH,9Fh>,LE,OR

とかいうやつ。
はっきりいって、読みにくいので、即止めにしたが(w
869774ワット発電中さん:04/11/08 10:13:33 ID:1RfiNSzs
>866
インラインアセンブル機能しか使わないとそうなりますねw
昔x86のソフト開発やってたころ「Cで書いて」というのにいぢわるして_asm_しか使わずに
hogehoge.cを提出した人知ってますw
870774ワット発電中さん:04/11/08 19:02:45 ID://8VeEeO
>>867
用意されたものをただただ使うだけでエンジニアを名乗る勘違い野郎に何を話しても時間の無駄だよ。
871774ワット発電中さん:04/11/08 19:59:39 ID:bfFyltgp
>>870
うるさいやつだな。スタートアップが作れてなんの自慢になるんだ。H8のHEWだと自動生成だぞ
どこでそんな知識を役立てるんだ。 メーカーのモニタをgccに移植するなんてしょぼい仕事を
どこでやるっていうんだ。

君は転職や就職のときに、スタートアップが作れますって自慢して回るっていうのか。

知らないことは言わないとかでかい口たたくわりには、世の中のことを何もしらないじゃないか。
872774ワット発電中さん:04/11/08 22:28:08 ID:BwlF2PfL
学生はほっとけよ。
873774ワット発電中さん:04/11/09 19:03:35 ID:yFp5zXMS
少なくとも組込分野でのプロを自称するなら、スタートアップ
ルーチンが作れるなんていうのは当たり前過ぎるスキルだから
自慢にはならないだろ。
標準のスタートアップルーチンがそのままでは使えない場合も
あるしな。
874774ワット発電中さん:04/11/09 20:20:20 ID:UVr3meKP
なんだなんだ荒れてるな。
アセンブラが分からん馬鹿がごねてるのか

そうかそうか
875774ワット発電中さん:04/11/09 20:30:00 ID:UVr3meKP
Cができるったってアセンブラが分からんと


char *test()
{
 char *a = "test";
 return a
}

が良くて、


char *test()
{
 char a[] = "test";
 return a;
}

が駄目な理由が分からんだろ?


そうでもないか
876774ワット発電中さん:04/11/09 20:45:05 ID:5Y4cCk6C
アセンブラよりもC言語よりも
ヌーブラの彼女とCが一番
877774ワット発電中さん:04/11/09 21:17:37 ID:CaasmtpO
>>871
今時の新人臭いな。
理屈は二人前
スキル、知識は小学生
878774ワット発電中さん:04/11/09 21:54:52 ID:QEscOVzP
ところでニーモニックとオペランドは同じ意味なの?
879774ワット発電中さん:04/11/09 21:57:59 ID:u/XDl6Bp
違う
880774ワット発電中さん:04/11/09 22:33:25 ID:BfCtMqoy
なんか自分が見えてないお人が多いけど、
マイコンのコードなんか書いてる時点でエンジニアとして二流以下でしょ。

一流の奴はマイコンのコードなんぞ書かん。悲しいかな。
もちろん、これは自分を棚上げするものではない。俺はまあ三流以下でしょう。

アセンブラがどうとかいってる人は恥ずかしくないか?
アセンブラなんて全く難しくないって。中学生でも理解できる。
現に俺は中学時代MZ-80でアセンブラでゲーム作ってたし。

アセンブラが出来るかどうかなんて低レベルな次元でお山の大将してどうする。
881774ワット発電中さん:04/11/09 23:04:46 ID:xyLGcurD
>>880
極論としてそういうのもあるでしょうね。
でもアセンブラ(アセンブリ言語)でもプログラミング技法やコードの効率など善し悪しがあるし
昔はいかに小さく芸術的なコードを書くか真剣に競っていたもんだわ(ってジジイの昔話でスマソ)
何をもって一流二流って言うのかわからんけど、今時はソフトの規模も大きくなっているうえに
コンパイラが優秀だから、アセンブリ知らなくてもCで効率よく開発できる奴がデキる奴って
ことになるのかな。
それともマイコンの仕事自体が二流ってことかい(w
882774ワット発電中さん:04/11/09 23:48:12 ID:A8nsaDrX
アセンブラができるから偉いとかいう話ではなく、アセンブラくらい最低限
やっとけっつ話。だいたいH8あたりのアセンブラなら、まったく予備知識
が無い状態からはじめても1週間もあればほぼマスターできるだろ。
x86クラスのCPUともなる1週間っつーわけにはいかんがマイコン程度なら
楽なもんだ。
アセンブラを知ってるのと知らないのとでは、たとえばCで何かやっても
差が出る。簡単に覚えられるんだから、やらなきゃ損っつーか、そういう話
だ罠
883774ワット発電中さん:04/11/10 00:59:19 ID:u5XysiAF
C言語しかできないってのは、
車で言えばオートマ限定免許みたいなもんだな。
普段はそれでもなにも困ることはないが、
なんかあって車を運転しなきゃいけなくなったとき、
そこにマニュアル車しかなかったら・・・みたいな感じかな。

べつにオートマだけでいいよ、って奴はそれでいいし、
やっぱりマニュアル車も運転できるようになりたいって奴は
ほうっておいても一人で勝手に努力する。
884熱暴走 ◆2SA784NN.A :04/11/10 01:02:15 ID:HUZIGTYf

           >>880
              \   ∩─ー、
                \/ ● 、_ `ヽ
                / \( ●  ● |つ
                |   X_入__ノ   ミ フッ..舐めんなよ。
                 、 (_/   ノ
                 \___ノ゙釣られる訳ねーだろクマ
                 / 丶' ⌒ヽ:::
                / ヽ    / /:::
               / /へ ヘ/ /:::
               / \ ヾミ  /|:::
              (__/| \___ノ/:::

>>882
>アセンブラを知ってるのと知らないのとでは、たとえばCで何かやっても
>差が出る。簡単に覚えられるんだから、やらなきゃ損っつーか、そういう話
>だ罠
禿胴。
 じじいなんで、アセンブラだけじゃなくアレとかソレとかも考慮してコードを
書くべき と書こうと思ったが、釣りにマジレスしてもな... ┐( ´ー`)┌
885774ワット発電中さん:04/11/10 02:34:03 ID:O8NTWqua
何かあったときじゃなくてもCPUを含む回路作ったとき最低限動作チェックするのに
アセンブラは必須だ。
回路エンジニアならロジック屋であってもトランジスタ知っとけ言うのと同じ。
まぁ、分野によってはピュアソフト屋で必要ないやつも居るだろうけど、
組み込みエンジニアにとってはアセンブラでソフトを組めることは
ソフト/ハードエンジニアともできて当然。
メインの開発手法としてアセンブラを使ってなくてもアセンブラリスト見せられて
全く理解できないつーのは話にならん。
886774ワット発電中さん:04/11/10 03:04:25 ID:hM3WxQMM
4
887774ワット発電中さん:04/11/10 03:28:33 ID:dFiI6B+z
アセンブラができてハードをちょっとかじっとけばハード屋と喧嘩ができるのが強み(w


888774ワット発電中さん:04/11/10 03:30:46 ID:dFiI6B+z
ま、ハード屋にとってはアセンブラのほうが理解しやすいからさ共通言語みたいなもんよ
組み込みやるならやっとけって感じ
889774ワット発電中さん:04/11/10 08:45:52 ID:YjRK7he4
すごくスレのびてますね。

組み込み屋じゃなくて日曜工作屋ですけど(w
今はgccで遊んでいますけど、趣味工作野郎でもやっぱりアセンブラでも
遊んでおいてよかったと思う場面は多いなと思う。
何通りかcで書き方がある場合、どっちが速いのか、どっちがコード小さいのかと
考えるとき、出力されるアセンブラリストを読めるのと読めないのとでは大違い。
ああ、攻殻と・・じゃないこう書くとこのようにコンパイルしてくれるのね、って
わかってくるとc使っていても多少自由がきくし、インラインアセンブラなどを
使う勘所もわかってくると思う。
それに参考資料っつーか、アセンブラで書かれたお手本も参考にできるし、
1つのマイコンのアセンブラをだいたい把握できたら2つめ以降は楽なので
他のマイコン用のお手本(笑)も可能になるし。PICで作られたものを参考に
avrで作るとか。

お仕事で使う人はこのへんはどうなのでしょうか?
890774ワット発電中さん:04/11/10 11:08:52 ID:h0fZ6hPK
>889 すごくスレのびてますね。
それに比べてPSoCは…。
891774ワット発電中さん:04/11/10 12:19:21 ID:42nK7TSD
アナログ回路屋ですがマイコン使ってます。外部のSWを読み込んでテーブル検索して
内部のアナログスイッチ切り替えたりアナログ電圧可変したり。
アセンブラで書いてますよ。何しろ一番長いのがテーブルで次がスタートアップ(笑)。
でもロジックで組むと部品増えるしPLD高いしで、マイコンがコストパフォーマンス一番良い。
Cで書いても良いんだろうけどgccインスコしている間にプログラム書き終えそうなものばっかり
だからコンパイルしても512word超えないし(笑)。

全品種フラッシュのAVR愛用してます(笑)。俺の頭じゃPICは良く判らねぇ…何で条件分岐
無いんだってのと、品種多すぎでファミリー間の互換が微妙に無いらしいのがちょっとイヤ。
892774ワット発電中さん:04/11/10 12:28:26 ID:JRy02HFC
俺限定

・自分で回路設計もしている
・アセンブリで書いた方がバグが少ない
・1円でも、1Hzでも、1mm^2でも削らなきゃならん用途

という理由で、H8ではアセンブリ派。
もちろんPCだとCを使ってるけど。
893774ワット発電中さん:04/11/10 18:43:07 ID:QVCgZZ5O
なんか、すれ違いネタで盛り上がっているようだが…。

ATTINY2313に4mm角のパッケージが出たね。
894774ワット発電中さん:04/11/10 21:27:03 ID:FmmSASs2
よくあるアセンブラに対する悪口に互換性ってのがあるけど、アセンブラそのものは似たりよったり、
そもそもマイコンの場合、アルゴリズムがメインじゃなくてハードウェアコントロ−ルがメインなんだから
ハードウェアの見通しのよいアセンブラが喜ばれる場面が多いのは当然だ。
適材適所使い分けるのがプロだろ?それができないってのが一番よくない。
895774ワット発電中さん:04/11/10 21:35:20 ID:FmmSASs2
先月号のDW誌に数値演算のVC++/ICC/アセンブラの速度比較が載ってたね。
P4だとICC > アセンブラ > VC++だったが、
H8の場合は絶対Cがアセンブラに勝つことはないからな。
あと、速度ばかりじゃないんだよね。
どれだけハードが見通しやすいかとかね。
レジスタのリネームなんかされたらお手上げだけだけどさ・・・
896774ワット発電中さん:04/11/10 22:31:45 ID:HZyFoNKJ
>>894
禿げあがるほどに同意w
cでいいところはc、アセンブルが必要なところはアセンブルで書けよおめーら
897774ワット発電中さん:04/11/10 22:55:08 ID:m50RoThh
アセンブラは必要だが・・・gasは嫌いだぁ!!!!
898774ワット発電中さん:04/11/10 23:03:26 ID:c9ZHcHSQ
>>897
あれは慣れです。
最近asm38使って無いなあ。
899774ワット発電中さん:04/11/10 23:53:35 ID:wRIHOT0X
斡旋ブラの時代は終わりました。
900774ワット発電中さん:04/11/11 02:07:25 ID:ScLnvzdD
終わったと思い込んでアセンブリが適しているところも無理やりCで書くのが最悪。
901774ワット発電中さん:04/11/11 02:17:32 ID:QcUtF2/+
ハード屋から敷居をまたごうとするとCは敷居が高いですはい
902774ワット発電中さん:04/11/11 09:56:37 ID:n+TMFxd/
やっぱFORTHですよ
903774ワット発電中さん:04/11/11 12:45:19 ID:jx4ebnT+
なにかにつけてFORTH、FORTHって騒ぐ人はいるんだけど
実際使っている人を見たことがない。
904774ワット発電中さん:04/11/11 13:00:15 ID:4fZGvnYR
「オレは他のヤツらとは一味違うぜ」
ttp://www2.airnet.ne.jp/sardine/langs/Forth.html
こんな可読性の無い言語なんて逸般人以外は使えません。(w
905774ワット発電中さん:04/11/11 14:01:52 ID:tGUbDL2w
forthって知らなかったので調べてみた。
forthってまんまアセンブラ?
スタックに積んで関数ルーチンコールしてスタックに値返したり、
レジスタに値をロードしてから演算命令したりするのってこの言語に似てるよなあ。
906魚チョコ:04/11/11 15:03:52 ID:XofdYaML
>>905
 forthのコンセプトは「人と機械の歩み寄り」だから、人も機械に合わせにゃならんわけだ。

 アセンブラといえば、手続き型言語のコンパイラはみなアセンブラ自動生成プログラムと
もいえるわけで、forthの場合は、文法をアセンブラ・機械語に近づけることで、強力な最適
化を可能にしようという作戦だ。

 forthのプログラムは数百行くらいのものしか見たことがない。慣れないと異様という他は
ないが、慣れれば他の言語と大差ないんじゃないか。やってることは同じだし。
907774ワット発電中さん:04/11/11 16:00:33 ID:Cs2LXIN5
FORTHは、FORTHコンパイラなり、インタプリタなりを作るのが簡単なんすよ。
YACCとかみたいな、構文解析がいらないし。
if ( a >= b ){
goto hoge;
}
を構文解析する様にするのは頭イタイけど
a
b
>=?
goto hoge
を構文解析するのは簡単だし。
908774ワット発電中さん:04/11/11 20:54:20 ID:QcUtF2/+
FORTHは非常に日本語的でおもしろい
AとBを足したものにCをかけるというばあい
AB+C*となるとか
909774ワット発電中さん:04/11/11 21:35:48 ID:/qHxc66n
ひまわりが一番
910774ワット発電中さん:04/11/11 21:47:11 ID:aIYbYmzw
ちなみにopenBIOSだかFreeBIOSはForthで記述されている。

フリーのforth環境もあるので、チャレンジしてみては?
(変態言語と言う点ではAPLといい勝負かもなー)

余談、FORTHはもともとFOURTHとなるはずだったアセンブラ・BASIC・Cだったかなに続く4番目の言語ということで
FOURTHとなるはずだったが、開発マシンのファイル名の制限でFORTHとなった。
そのFORTHは天文観測所の望遠鏡自動追尾プログラムを作成するために作られたという。

80年代初頭にはアセンブラの代替品として期待されforth-79,83と規格が決められたんだけど
83以降Cがブレイクしたため、どうなったかは不明。

スタックマシン向きだから組み込み用なんかいいかもねー
911774ワット発電中さん:04/11/11 22:45:01 ID:WMmACJUx
組み込み用マイコンの話題でPPC405シリーズは駄目ですか?

先週からちょっといじり始めたんだが、どーにもマイコンらしくなくてさぁ・・

912774ワット発電中さん:04/11/11 23:18:26 ID:o63ROwQ1
NECの78Kシリーズってどう?
猛烈に売り込まれてる最中なんだけど。
913774ワット発電中さん:04/11/11 23:21:13 ID:n+TMFxd/
そりゃそうだ。PICだのAVRだのH8だの・・というレベルの
”マイコンらしさ”を求めるのは間違ってるだろ
914774ワット発電中さん:04/11/11 23:48:04 ID:STuaoB2v
>NECの78Kシリーズってどう?

開発環境がロハでライター不要で数百円なら買ってやる
915774ワット発電中さん:04/11/12 00:17:28 ID:Ky7U8COe
>>912
> NECの78Kシリーズってどう?

開発環境がロハでISPライター自作可能で千円以下なら買ってやる

916912:04/11/12 01:21:30 ID:KLnRHcb/
開発環境がロハだけどライターが専用で5800円ぐらいだって。
917774ワット発電中さん:04/11/12 09:57:00 ID:0yFoIqME
78Kを積極的に使おうという気になれる要素が何かある?
918774ワット発電中さん:04/11/12 10:12:32 ID:CHbdRa8r
78Kはフラッシュの耐久性がなあ…
919774ワット発電中さん:04/11/12 13:08:28 ID:iwsrZcQs
仕事で使うことがあるけれど、コア・命令セットが超古くさいのであまり積極的に
使いたくはないなー。フラッシュ30回だしぃ(ww
920774ワット発電中さん:04/11/12 14:45:45 ID:D4RF5sx6
I/O拡張してまで78K/0から逃げたがってるヘタレがここに。
ICE一式レンタルして、開発終わってみたら買った方が安かったよ・・・。

って、開発環境ロハって有り得るのか?
921774ワット発電中さん:04/11/12 20:20:39 ID:zRXfzb02
NEC供給のQFPソケット、フットプリントがパッドに合わんぞゴルァ!
78KのICEって内藤電誠以外に出してるところあるのかな。安くて機能もそこそこだからまぁいいんだけど。

>>920
/0ならまだマシな方だと思うが。
/0Sになるとレジスタバンク抜かれて、ただでさえショボい命令セットもさらに抜かれまくってるから鬱になるよ。
現在はC言語も只になってるのかなぁ?
922774ワット発電中さん:04/11/13 01:29:48 ID:rM/S1Squ
スマソ、亀レスだが、
>>875の理由がわからん。
マシン語はある程度わかってるつもりなんだが…
エロい人解説キボンヌ
923774ワット発電中さん:04/11/13 01:49:24 ID:78Gc9pyy
>>922
ローカル変数 a[] はスタックの中に作られるから、return した時に破壊される。

924774ワット発電中さん:04/11/13 02:04:49 ID:+pgH/+4Z
>>875ってアセンブラとどう関係するのかよくわからん。
Cの仕様の問題だと思うのだが。

んで、>>875の上がなぜ○なのかよくわからん。"test"の中身もローカル扱いで
スタック上に確保、んでreturn時に消滅するような気がするのだが・・・
925774ワット発電中さん:04/11/13 02:12:53 ID:FbaxPuPg
>>924
上のは、"test"が定数領域に確保されていて、その先頭アドレスを
aの初期値としている。戻り値はaの中身なので、定数領域の"test"の
アドレスが返される。
926熱暴走 ◆2SA784NN.A :04/11/13 02:21:14 ID:vR6uPTGF
>>924
コンパイラの仕様によるが大抵の場合、>>875 の上の場合、"test"は
const修飾子を適用した変数と同様に定数データ領域,又はコード領域
に割り付けられているので、最初から常に存在している。
927熱暴走 ◆2SA784NN.A :04/11/13 02:22:29 ID:vR6uPTGF
il|li ●| ̄|_ il|li リロード忘れた・・・
928774ワット発電中さん:04/11/13 02:29:33 ID:+pgH/+4Z
>>925-926
スレ違いな疑問でしたがサンクスです。てかローカルに定数確保って意味ないですね。
スタックへ積むデータはどこから持ってくるのかと小一時間(ry

俺なにバカなこと考えてるんだ・・・もう寝る!
929774ワット発電中さん:04/11/13 02:43:53 ID:FbaxPuPg
>>928
あれは定数でないことに注意してほしいのだが。
あくまでローカル変数の初期値定義ね。
下の例、あのままだとだめなプログラムだが、
引数に戻り値用ポインタが与えられていて
a[]の中身をコピーして返すような仕様だったと
したら、たとえば、入力ポートの状態とかに
応じて関数の中でa[0]の値を書き換えたりする
こともできる。
逆に上の方ではa[0]は書き換え危険。すべきでは
ない。
えーと、そういう場面がどれほどあるかは別にして
下のは
char a[5];
strcpy(a, "test");
/* 何らかの処理 */
の省略形というべきものだから、必要なこともあるよ、と。
930774ワット発電中さん:04/11/13 11:30:06 ID:iO5TwgU4
>>928
ローカル変数の初期化にはコード埋め込みかROMのテーブルから持ってきて、returnで破棄される。
ただ、staticかconst(コンパイラによるが)付ければローカル以外に確保されるので下の例もOKだな。


921だが、ちっとボロクソ言い過ぎたかも。
78Kの名誉のために言っておくが、PICよりはまともなマイコンだ。採用してるとこもH8より多くらいだしね。
931774ワット発電中さん:04/11/13 11:58:37 ID:ZHNxUmZ/
>>930
uPD78F0034AのフラッシュROMは何回書き換え可能なのでしょうか?
A1 デバイスのバージョンによって異なります。
「P」規格以降は ★回の書き換えを保証致しております。
なお、この保証は最初の書き込みから 10年間はデータを保証することを示しています。
従って、★回以上書き換えた場合は 10年のデータ保持は保証できません。
なおデータの保持を気にしない場合はこれ以上書き換える事は可能です。
ただしこの場合はデータの保持は保証されません。

さぁ、★はいくつか、予想してから
http://www.necel.com/ja/faq/mi78k/__78flash.html#0010
を読もう!
932774ワット発電中さん:04/11/13 12:07:49 ID:iWAdvjb4
>>931
旧日立製作所の人も同じことを言ってたよ。口頭で。
933774ワット発電中さん:04/11/13 12:10:26 ID:m09FN6qt
>>929
>>930
avrgccで試していました。上の奴と、static付き下の奴はあらかじめSRAMにコピーされた
"test\0"のSRAM上アドレスに飛びますね。一方staticなし下の奴はローカル変数域に
FLASH上の"test\0"のコピーを作ってしまう。もちろんリターン後スタック使えば破壊される場所。

>>875
まあアセンブラがわからなくても、*aが確保するのはポインタで、a[]が確保するのは配列で、
先頭アドレスを参照できるだけだ、というのはC言語の知識だけで理解できるのではなかろうか?
Cだけの知識でも後者がだめなのは理解できる。
"test\n"がどこに確保されるのか?という部分はCの仕様だけでOKだっけ?
俺はときどき混乱するけど(w
934774ワット発電中さん:04/11/13 12:15:15 ID:ZHNxUmZ/
>>932
そういえば、何のマイコンだったか忘れたが、デバッガはFLASHを書き換えるので、
デバッガに使ったCPUを市場に流しちゃダメよん。 
って書いてあったな。まぁそりゃそうか。
935774ワット発電中さん:04/11/13 12:17:12 ID:triP0L0H
>>931
メーカーの保証云々となるとこんなもんだわ。
936774ワット発電中さん:04/11/13 14:48:16 ID:dIAebxCv
20回しか書き換え保証がないのね。びっくり。
21回のものは、9年と11ヶ月ぐらいかな?
937774ワット発電中さん:04/11/13 15:13:00 ID:bjXrAEXG
936はネタ


















                                    ではない
938774ワット発電中さん:04/11/13 15:23:54 ID:5+JKw6qy
>>936
いや、それよりも「10年」の方が問題な様な気が。
939774ワット発電中さん:04/11/13 16:51:20 ID:NfXkRqB3
10年経ったら消えても知らんってのはまずいと思うけどな。
そういえば、メモリカードのたぐいもそうだっけ。
940774ワット発電中さん:04/11/13 17:04:59 ID:lfTzaDQA
>>939
フラッシュは保証期間それくらいだったような。
まあ消えないことを保証できるのは昔のヒューズ式くらいじゃないの。

941774ワット発電中さん:04/11/13 17:30:11 ID:cN94g4b6
20回すか・・・・・・
デジカメのフラッシュの実力のほどは?なんか不安
942774ワット発電中さん:04/11/13 19:06:58 ID:Rr2oOZx/
20回じゃあ デバッグで終ってしまうよ
せめて100回たのむよー
943774ワット発電中さん:04/11/13 22:52:16 ID:iWAdvjb4
デバッグ期間中だけ持てばいいんなら、10000回ぐらいは大丈夫ってことでしょ。
944774ワット発電中さん:04/11/14 03:16:00 ID:wpYOZib+
みなさん教えてください。H8を使うのは2回目なんですが、
外バス仕様のH8の外付けRAM内のデータ約1MBを、線の接続無しでPCに転送したいんです。
どのような方法が適当でしょうか(考えられるでしょうか)。目標は、転送レート115kbps程度
つまり、14KByte/sec程度です。
現在考えている(あるいは実験した)ことを書きます。
・IrDA赤外線通信 H8のシリアルポートをIrDAに設定して、赤外線送受信LEDを
接続してPDAで受信、その後メモリカードをPCに差し込んで転送。(実験済み)結果は、
PDA側アプリののコンパイラがIrDAをうまくサポートしておらず、よくなかった。
・電波式通信 315MHz帯の送受信モジュールを使ってRS232データを送信。
通信レートが遅くてダメだろうと思っています(未実施)

何かよい方法がありましたら教えて下さい。
945774ワット発電中さん:04/11/14 03:23:04 ID:JL8swIAe
>>944
無線LANを乗せる
946774ワット発電中さん:04/11/14 03:45:24 ID:97kS7hKX
>>938
いい所に気がついたわね。
他のフラッシュでも40年とか言ってるから、あと20年もすれば
フラッシュメモリのデータ化けが元での大事故が起こるわよ。ケケケ
947さるげと:04/11/14 03:54:35 ID:H5jOa622
自分で作ったマイコンの開発ツールを作ってくれる?
http://www.innotech.co.jp/products/enterprise_list/target/
詳細情報キボンヌ
948774ワット発電中さん:04/11/14 04:25:20 ID:gD8ISl2D
>>944
IrCommは?
949774ワット発電中さん:04/11/14 09:02:24 ID:jYgP08Uv
>>944
コレなんかを使ってみてはどうかね?繋げるにはページ先頭のモジュールが
簡単だけど、ページの下のほうに、1個$17.95の廉価モジュールがあるです。

http://www.sparkfun.com/shop/index.php?shop=1&cat=62
950774ワット発電中さん:04/11/14 10:34:57 ID:65K05JWb
>>949
ちょっとまて。 それより
http://www.sparkfun.com/shop/index.php?shop=1&cat=4&
のSKU Number:AVR-JTAG Price: $44.95
ってなんだ?一桁間違ってないか?

951774ワット発電中さん:04/11/14 11:06:45 ID:x01Dn+lj
>>950
以前から話題になってなかった?>>416とか。
http://www.google.co.jp/search?q=cache:vfviQy7JzVwJ:www.nahitech.com/jtag/cable1.html+AVR++JTAG&hl=ja&lr=lang_ja
もしかしてこれのDirect RS-232C portにあたる奴かも。中は直結かbufferが付いているだけかも
952774ワット発電中さん:04/11/14 11:07:55 ID:x01Dn+lj
>>951
ってさんざん議論しつくされてるな。>>416以降で
953774ワット発電中さん:04/11/14 11:35:35 ID:MTVFlfHg
>>951
ttp://d.hatena.ne.jp/atmori/20041004
に記述がありますね。なんか動かすまで苦労している感じなんだが。(もうちょい詳しく書いてくれよー)

954熱暴走 ◆2SA784NN.A :04/11/14 20:14:50 ID:99uRsiQX
テンプレ置いておくので、>>980 を踏んだ方、次スレよろしく〜。
------
           _____
         /       /|
       /   ( ゚∀゚) /.∠フ   個人でも手軽に使える
     /       /.∠フ || . ワンチップマイコン等を
   /  __    o/.∠フ ||    中心に語るスレッドです。
 ∠| ̄ ̄凵 ̄ ̄|∠フ ||
 .|| |_____|/||

◎前スレ◎
AVR H8 etc. マイコン総合スレ Part2
http://science3.2ch.net/test/read.cgi/denki/1093023679/
AVR H8 etc. マイコン総合スレ
http://science3.2ch.net/test/read.cgi/denki/1078586301/
PIC AVR H8統合スレ
http://science2.2ch.net/test/read.cgi/denki/1072092201/

◎関連スレ◎
PICアセンブラ統一スレッド
http://pc5.2ch.net/test/read.cgi/tech/1060182978/
トラ技4月号に付録のH8マイコンで実験しよう Part4
http://science3.2ch.net/test/read.cgi/denki/1088265446/
【新時代!】PSoC スレ  其の弐
http://science3.2ch.net/test/read.cgi/denki/1093785868/
やっぱARMっしょ
http://science3.2ch.net/test/read.cgi/denki/1072102432/
[機械板]
●PIC・AVR 初心者のためのスレッド-3サイクル目●
http://science3.2ch.net/test/read.cgi/kikai/1067082692/
 ★H8関連総合スレッド★ 
http://science3.2ch.net/test/read.cgi/kikai/985810159/
------
>>2 には、このスレの >>3 を持って来るって事で...
955774ワット発電中さん:04/11/14 21:50:29 ID:uX7ztiNW
バーロー
天プレ用意したなら、さっさとスレ建てろよ。
他人が用意した天プレでスレ立てるバカが居るわけ無いだろ。
956774ワット発電中さん:04/11/14 21:52:44 ID:HrsAFxfR
http://science3.2ch.net/test/read.cgi/denki/1097672806/646

同じIDなわけだがまともな会話が出来ない病気か?
957774ワット発電中さん:04/11/15 04:09:13 ID:0Lt9Wm4x
氏ね > 956
958774ワット発電中さん:04/11/15 18:21:45 ID:Y0ZVlqEW
>>949
ありがとうございました
さっそく注文しました
2.4GHzなので 802.11bとの兼ね合いが心配です
日本では 違法にならないでしょうか
うーむ
959774ワット発電中さん:04/11/15 18:58:37 ID:nE1fFVeH
2.4Gはゴミ捨て場だから、てきとーにやっていいと思われ
960774ワット発電中さん:04/11/15 20:14:44 ID:Gi+3I9ac
>>958
っていうか小電力だから問題無しだろな。つかまることはありえない。
TVとかラジオの帯域だとご近所迷惑にならだろうからアレだけど2.4Gなら。
11bとの干渉は2.4G+xxMHzの問題(いわゆるチャンネル)のぶつかり程度じゃない?
961774ワット発電中さん:04/11/15 20:51:17 ID:b5E49n/W
>944
安価な11Mの無線LANカードを使った方が、早いかも。
Wireless LAN on H8
ttp://park11.wakwak.com/~domo/wlan.html
962774ワット発電中さん:04/11/15 21:14:53 ID:G0RwTWCR
SH3とかSH4もここで良いの?
963熱暴走 ◆2SA784NN.A :04/11/15 21:22:07 ID:zBi5TKjQ
>>962
(・∀・)ウェルコネ!!
964774ワット発電中さん:04/11/15 22:02:57 ID:Y3zFOr3m
解説しよう
ウェルコネとは 
 歓迎の意である WELCOME は 訳せば ウェルクル  
 "来る"の反対の意味は "来ない"ですね。

従って ウェルコネ とは、正しく美しい日本語に直せば、「一昨日来やがれ」となります。
   
        
965774ワット発電中さん:04/11/15 22:11:27 ID:rJq0IbaF
MとN。
スペル間違えていたことに起因しているようにしか思えないよ。
ウェルコネ
966熱暴走 ◆2SA784NN.A :04/11/15 22:58:26 ID:zBi5TKjQ
>>964-965
つまらんネタでごめんよぉぉぉ
http://www.media-k.co.jp/jiten/wiki.cgi?mycmd=search&mymsg=%A5%A6%A5%A7%A5%EB%A5%B3%A5%CD

>>962
思う存分、語って下され。
967774ワット発電中さん:04/11/16 00:05:13 ID:3zY5KAnI
>>966
そこはあやしさ一杯のインターネットですね。
968774ワット発電中さん:04/11/16 14:57:47 ID:uns8ClDZ
>>966
2ちゃんねら〜は巣へ帰れ!
969774ワット発電中さん:04/11/16 18:00:39 ID:BWZQyFCf
>>968
   ∧_∧  
  ( ´∀`)< オマエモナー
970熱暴走 ◆2SA784NN.A :04/11/16 19:34:50 ID:vdV9ddl2
>>962
( ´A`) ...ホントニ コネー
971774ワット発電中さん:04/11/17 01:27:55 ID:fbKE2f+G
>>966
http://www.aiseikai.or.jp/
このページすごすぎ
とても産みに行く気にはならない
972774ワット発電中さん:04/11/17 11:21:35 ID:aFVhrmCc
マイコンの初歩的な質問です。

現在、大学のほうで三相PWMインバータを製作する予定なのですが、
マイコンでゲート信号を精製するのは簡単なのでしょうか?
一から勉強するので少し不安になってます。
973774ワット発電中さん:04/11/17 12:46:31 ID:XTCNwaUG
H8なんかには、PWMモジュールが付いているので、そこに値を書き込めば
ハードがPWMを発生してくれるよ。
974774ワット発電中さん:04/11/17 14:41:15 ID:aFVhrmCc
>973

えっ、そうなんですか?
自分でプログラムを考えなきゃいけないと思っていました。
じゃぁ、そういったマイコンを買えばいいんですね?
975774ワット発電中さん:04/11/17 14:58:38 ID:ANlERXZx
期待している波形が得られるか
データシートをダウンロードして確認したほうがいいよ
976774ワット発電中さん:04/11/17 16:04:40 ID:aFVhrmCc
>975

データシートをいろいろ見てみようと思います。
でもなんか多くて見つけるのが大変ですね(汗)
977774ワット発電中さん:04/11/17 17:59:28 ID:NHqGtM5W
>976
ttp://it.cqpub.co.jp/AdGuide/Plan00013/product.asp
AKI-H8/3052マイコンボード(開発ソフト付)1セット¥4,200
◆PWM:5相MAX

何にも知らなくて、データシートから型番やらチップ形状を選んで実装するには
絶望的に時間が足りないと思われますが。。。
978774ワット発電中さん:04/11/17 18:49:57 ID:aFVhrmCc
>977

ありがとうございます。参考にさせて頂きます。
やはりマイコンを使うには時間がかかりますか・・・。

学生なので時間をかけて勉強したいと思っています。
とにかく三相モータを回すまであきらめられません。
979774ワット発電中さん:04/11/17 19:29:12 ID:o8sjvBNH
>978
あきらめずに頑張るっていう姿勢・・・イイ!
指示されたから仕方なく、なんていう奴より身に付くことが多いと思いますよ。
980774ワット発電中さん:04/11/17 19:55:03 ID:NHqGtM5W
>978
我武者羅に頑張れば、カタログ通りなら何とかなるかも。
電車とかの三相の強電用インバーターとかだとむつかしい。

取りあえず二相モータでも回して
ttp://akizukidenshi.com/catalog/items2.php?q=K-165&s=score&p=1&r=1&page=#K-00165
モータドライバーICもいじって
ttp://akizukidenshi.com/catalog/items2.php?q=I-591&s=score&p=1&r=1&page=#I-00591
H8でPWM制御してみるのが、体感出来て良いかも。

天才さんだったら、脳内シミュレートで完結してデータシートから即製作開始ですが。。。
981774ワット発電中さん:04/11/17 20:10:20 ID:jPca++0u
学生でこの時期というと卒論かな?
H8のスペック調べるだけでも大変かな?PWMを単に作ることが目的じゃないだろうし。
H8のPWMつーかカウンタ周りはかなり協力だし、
単にソフトでポート叩いてるわけじゃないんで大丈夫だとは思うが、
ジッタフリーの正確な波形を発生させたいなら、クロックもちゃんと選択して
FPGA/PLDで作ってしまった方が早いかもな。
982774ワット発電中さん:04/11/17 21:15:45 ID:f0/fnNLd
AT90S8535を使った工作はじめて1ヶ月半。ようやくサーミスタ使った温度計とRTC使った
時計を動かす所までたどり着きました。
TOSC1とTOSC2に32kHzのクリスタル付けてやってまして、きちんと正確な時刻を刻むよ
うになりましたが、ISPケーブルを抜くと、うまく発振しないのか時刻の進みが遅れて、しか
もムラが出てきます。
ISPケーブルはchanさんのシリアル接続を使ってるんですが、なんか心当たりある方い
らっしゃいますか?
ちなみに、XTAL1、2につないでいる8MHzのクロックは正確に動いているようです。
983熱暴走 ◆2SA784NN.A :04/11/17 21:45:11 ID:VQj9bymu
んで、>>980 よ、早く次スレを...(>>954 参照)
984774ワット発電中さん:04/11/17 21:49:38 ID:4QV6lrtW
>>982
エラッタにこんなことが書いてあるんだが..

>タイマ/カウンタ2のクロックに32.768kHz外部発振器を使用する場合
>VCCが4.0V以上では正しいカウントを行いません。
985982:04/11/17 22:14:53 ID:f0/fnNLd
>>984
うげ、まじっすか?
Vccは5Vですがな・・・
でも、AT90S8535の動作電圧って4.0V〜6.0Vってなってんですが。
AT90LS8535なら2.7〜6.0ですが。

うーん、ちと調べてみるか。
986774ワット発電中さん:04/11/17 22:32:11 ID:cCU3twP0
90S8535のRTCはまともに動かん。
Mega16とかに換装して比較してみ。+5Vでもちゃんと
動くから。
987982:04/11/18 00:09:43 ID:Q9FZrae9
って、いろいろ触っているうちに、テスターの先っちょでVccとGNDを一瞬ショートさせて
しまった・・・
LCDが一瞬消えてまた動作しだしたが・・・RESETがきかなくなった・・・
あーこれで8535お釈迦にしたの2個目だ。ショックでかいなぁ。
しかし、ISPケーブルを抜いてもRTCがまともに動作するようになった。しかし意味無し。

>>986
RTCは8535内部の問題?
Mega16かぁ。といっても通販じゃないと入手できなかったよーな。
マイコン壊したし、要検討だなー。
988774ワット発電中さん:04/11/18 00:19:42 ID:lizxIQEH
>980

いろいろ参考になるページありがとうございます!
天才さんだったら脳内シミュレートですか〜・・・、すごい。
僕は地道に頑張ります。


>981

卒論に向けてではないんですよ〜。直接研究テーマには関係ないのですが
どうしてもインバータを作らなくてはいけなくなってしまいまして。
しかも教授は教えてくれない(知らない?)ので、東芝やルネサスに問い
合わせたりしています(汗)
でも、将来自分のためになると信じて頑張っていきます。
989774ワット発電中さん:04/11/18 00:21:08 ID:QR/2bHMl
>>987
MEGA16は、467円で、安くていいですよねー。

#Digi-keyで25個買ったときの値段だけど(w
990熱暴走 ◆2SA784NN.A :04/11/18 00:42:14 ID:YYJrCLXL
>>980 が踏み逃げした様なので、
次スレ勃てていい?
991774ワット発電中さん:04/11/18 00:48:43 ID:utRJ/l7m
早く、早く、お願いします。
ただし、「勃てられる」と引きます、某スレみたいに。
992980:04/11/18 00:51:16 ID:EJfmZ7jk
993980:04/11/18 00:55:33 ID:EJfmZ7jk
>990
遅れてゴメン、、失敗してたら削除申請します。
994774ワット発電中さん:04/11/18 01:50:37 ID:gUjMr+xW
じゃ、埋め立ては991にお答えして

                              !、___
                             /      `ヽ、
                           /          ',
                          /            i
                         {ー-、.,,,,,____,,. イ/ー、
                     ___ゝ          ,.イ
                    /    /      ,.-、 ̄ /
                    ゝ、  /   _,.,. イイ/!  ヽ/
                   /   了  '´    | ',   ヽ
                  _レ-、  |       /|  ゝ-'´i
                 / | ノ ノ     /  !     i
                 | ゝ--く    /     }     ',
                /ヽi_ノ  !         / /|      !
                { ィ \_ノ        / / |      |
               ノ`ーー'        / /   !       |
                        /   /         |
                       /  / /!          |
                         / / |          i
                       / /  !          !
                            ',          !
995774ワット発電中さん:04/11/18 01:53:37 ID:gUjMr+xW
                                       955

                                      oO

                                     。°
                              !、___
                             /      `ヽ、
                           /          ',
                          /            i
                         {ー-、.,,,,,____,,. イ/ー、
                     ___ゝ          ,.イ
                    /    /      ,.-、 ̄ /
                    ゝ、  /   _,.,. イイ/!  ヽ/
                   /   了  '´    | ',   ヽ
                  _レ-、  |       /|  ゝ-'´i
                 / | ノ ノ     /  !     i
                 | ゝ--く    /     }     ',
                /ヽi_ノ  !         / /|      !
                { ィ \_ノ        / / |      |
               ノ`ーー'        / /   !       |
                        /   /         |
                       /  / /!          |
                         / / |          i
                       / /  !          !
                            ',          !
996774ワット発電中さん:04/11/18 03:52:30 ID:IPDmNaJO
996
997774ワット発電中さん:04/11/18 03:52:51 ID:IPDmNaJO
997
998774ワット発電中さん:04/11/18 03:54:42 ID:IPDmNaJO
998
999774ワット発電中さん:04/11/18 03:55:33 ID:IPDmNaJO
1000
1000774ワット発電中さん:04/11/18 03:58:46 ID:IPDmNaJO
1001
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。