2 :
デフォルトの名無しさん:02/11/24 08:46
2
就職相談の話題が循環するから先に答えておく。
好きならやれ。
他に選択肢があるならそっちをえらべ。
自分が選んだ、なりたい自分になれ。
以上。
制御系って既に機械側のコマンドを叩くだけで細かい位置決めとかはやらなくていいって聞いたんですが。
>>4 その機械側の叩かれるコマンドを作る方が制御系だろうが。
叩くのは普通オープン系だろう
>>5 へぇ。前回った制御系を名乗る会社はそうだったからさ。
会社によって捉え方が違うんだね。
まぁ制御系つーてもピンキリだからな。
ハード叩く部分はハードの知識持った奴がライブラリとして作っておいて、
知識無い奴とかが上物(アプリ部分)作るような事もあるやね。
ただ、そういうアプリしか作ってない奴が制御系プログラマを名乗るのは
なんかちげーだろーって感じ。
8 :
デフォルトの名無しさん:02/11/24 17:58
皆どんな製品作ってる?
俺は携帯とか無線LAN関連とかだけど。
10 :
デフォルトの名無しさん:02/11/25 05:45
制御系ってなんですか?
11 :
デフォルトの名無しさん:02/11/25 06:37
>>10 おもちゃ屋に置いてある子供向けの
偽ワープロとか偽携帯電話とかの事だろ?
ARMってホンとにJavaVMを実行できるんですか?
やりたくない理由はある
制御Kは少女Aの元カレ
16 :
デフォルトの名無しさん:02/11/26 00:10
>>10 求人の一部を掲載しています。
キャリア登録をしていただくことにより担当コンサルタントがあなたの力を
十分に発揮できる求人情報をサーチし、ご提案致します。
● オープン系
● 汎用系
● 制御系
● WEB系
● パッケージソフト・OS
● システムコンサルタント
● ネットワークエンジニア
● 社内IT
● プリセールス・テクニカルサポート
● 営業・マーケティング系
● 事務系スペシャリスト
● その他IT関連職種
17 :
デフォルトの名無しさん:02/11/26 01:09
IrDA使ってる人いる?
っていうかARMバイトコード直接実行できるって何処かで見たような記憶が、
20 :
デフォルトの名無しさん:02/11/30 03:00
age
♪あなたが組み込んだ~
プログラムで動き出す~
生まれた~私を~抱きしめて~
♪あふれそうなデータを~
バッファでそっと受け止めて~
23 :
デフォルトの名無しさん:02/12/03 18:53
閑古鳥が鳴いてるな
25 :
デフォルトの名無しさん:02/12/06 23:33
閑古鳥が鳴いてるな
周囲に喪中やら入院やらが多くてまいってる
>>28 ネタが無いから、みんなマ板で遊んでるんだろ(w
本気の質問が来たらまた集まってくるんじゃないか?
閑古鳥ってカッコーのこと?
下がりすぎだろ。age。
ていうか質問です。
簡易ファイルシステムを構築しようと考えています。
ちなみにターゲットはH8、記憶媒体はフラッシュメモリです。(ワード書き込み、セクタ消去)
フラッシュメモリ書き込み、消去プログラムは完成しておりますが、
ファイルシステムに何を使うべきなのか、どの程度まで簡易なFSを実装すべきなのか検討しております。
マイコンにファイルシステムを載せてる方は、どの程度まで機能を実装されてます?
また、何か参考にされた情報とかございますか?
>>32 簡単なのは、やっぱりFAT
ファイルの新規作成や追加書き込みをしない限りは楽
FATだろ~な~
FAT32とVFATに対応させとけば、後々使い回し
効くしな~
>>32 フラッシュって、ただのフラッシュメモリ?
それ用のファイルシステムがあるんでは?
書き込みが偏ると、寿命が短くなるからねー。
38 :
デフォルトの名無しさん:02/12/13 23:31
TRON SHOW 2003開催中!
ところで,T-Engineて使っているひといますか?
40 :
デフォルトの名無しさん:02/12/14 20:53
41 :
デフォルトの名無しさん:02/12/14 21:01
質問!
最低どのくらいのCPU(とクロック)でLANコントローラ付きの組み込み機器作ったことある?
PICNICはさすがにアプリが載らないからそれ以外で教えて。
ネットワーク要の組み込み機器の原価低減でCPUを変えたいので。
ちなみに今の構成は
CPU 32Bit RISC 66MHz です。
42 :
デフォルトの名無しさん:02/12/14 21:07
>>36 大体2面データを持って、書き換えるときは古い面を全部消去して
変更を加えたデータを書き込んでる。
…で書き換えに失敗したら(書き換え中の電源OFFとか)古い面を
バックアップに使用。
” (゚Д゚)ハンパネー!!!
>>41 AKI-H8にLAN対応の組み立てキットがあるよ。
H8/3069で、トラ技の12月号にも載ってたな。
>ネットワーク要の組み込み機器の原価低減でCPUを変えたいので。
この辺の事情はよく分からん。自分で調べてくれ。
>>44 ありがとう。
「ネットでI/O」とかいう特集だったけ?(記憶モード)
>>39 CPUは何を使いました?
やはり,パーソナルメデイアのものですよね。
47 :
デフォルトの名無しさん:02/12/15 20:54
H8なら秋月でかうのがいいですか?
>>47 特に事情がなければ。
情報も一番多いんじゃないかな。
49 :
デフォルトの名無しさん:02/12/16 01:49
>>47 値段的にも安いんじゃないかな。
WEBでも買えるし
51 :
デフォルトの名無しさん:02/12/16 01:54
ロボットとか作ったことありますか?
>>51 リア消の時は、石鹸の空き箱とかで作ったけど、そんな話は聞いてないって?
>>51 作ったんだけど、俺のことを好きになっちゃって嫁さんのこと気にして
ハングアップしてしまった。2台目に学習経験を吸い出されちゃったけど、
2台目の学習結果がそれで上書きされちゃうので、2台目自身が1台目
のようにまた俺のことを好きになったらマズイから捨ててくれ、と言ったので、
泣く泣くゴミ捨て場に捨ててきました。
これからはパソコンと呼ぶようにしてください。
>>51
オシロ当てたりジャンパいじったりしてるうちにどうしても
基盤壊してしまいます。
すでにTr焼損x2 断線x3 (しかもICEのプローブ線を断線させてしまった)
ハードわかるのがほぼ自分しかいないので続けられますが
周りの目が痛いです。
基盤を壊さないこつを教えてください。
55 :
デフォルトの名無しさん:02/12/18 16:37
冷静に、機械に当たってもしょうがない
将来道はひらける。
くらいしか言えないです。スマソ
>>54 電力? 絶縁してないトライアック直接制御なら仕方ないよ。
絶縁トランス+スライダックトランス入れてるけど、それでも時々やっちゃう。
>>56 いや、マイコンです。厳密には制御系というより組み込み系かな。
最大電圧4.3V(Li-ion電池)なので安全っちゃー安全(^^;;
Tr損傷はオシロのプローブ当ててうっかりVccと出力を短絡させちゃって終了・・
VccとGND短絡で電源ふりきらせるなんてしょっちゅうです。
>>57 それは・・・・電流制限付(定電流VR付)の電源買って貰え
ハンダコテあてた後、電池をいきなり接続したりしたらそりゃダメだよ。
テスターあててから、電流ギリギリにして試験用電源で確認する事。
オシロのGND用にはちゃんとつかむ所をハンダ付けしておくべきだし
60 :
デフォルトの名無しさん:02/12/18 23:09
皆さんアドバイスありがとうございます
ところで話が換わるのですが、いわゆる自動変数
を宣言しすぎてヒープを使い果たしたと思われる
バグにはどう対処されてますか?
H8でメモリが4Kしかないのに関数内で
char buf[5000]; とか
宣言しても警告すらされないんですね...
やはりすべてグローバルでとるか動的に取得するのが常識なんですか?
>>63 でかい配列はstaticにしませう。
あふれれば、リンクする時に怒られます。
動的な確保はあんまりやらない。
静的に取っていって、足りない時ぐらいかな。
>>63 > ところで話が換わるのですが、いわゆる自動変数
> を宣言しすぎてヒープを使い果たしたと思われる
> バグにはどう対処されてますか?
どんなコンパイラ使ってるの ? 普通は、自動変数 → スタックだと思うが...。
>>65 今調べたら確かにスタックにとられてました・・
ちなみに使ってるコンパイラはHEWです。
>>66 別にわざわざ断らんでも普通のコンパイラは
自動変数はスタックに積む
ヒープを使うのはmallocでエリアを確保するとき
ヒープを日本語に訳す時って何て表現するの
69 :
デフォルトの名無しさん:02/12/20 04:28
infoseek 辞書によると
heap [hi:p]
【コンピュータ】ヒープ ((確保したメモリ領域))
だそうだ。まんまやん…
heapは堆積だよ (エッヘン!)
>>71 まんまやね…
>>72 直訳やね…
まぁ、コンピュータ用語なんて、そんなものか…
mallocなんて怖くてつかえねぇ
吐き出したMAPファイルとにらめっこ
mallocなんて実装するのがマンドクセー
ライブラリなんてメモリバカ食いするから使えねー
まあライブラリは自作が殆どだし、mallocも使わないのが殆どだし、
ただ、購入したライブラリというか機能を使う為に
呼出番地に応じて固定領域を返すmallocなんてのを書いたりするけど
オレもmallocは怖くて使ってない。
メモリ不足になったとき、どう処理すりゃいいのか、
それをどう検証すりゃいいのかがようわからん。
実際に使っている人たちにここら辺をどうしているのか
聞いてみたいところ。
>>78 メモリ不足になったら、とりあえず致命的なので
時間を空けて3,4回リトライしそれでも駄目なら
外付けしておいたブザーを鳴らしてプログラムは終了
>>79 レスさんくす。
更に質問。
メモリ不足になったときに、ブザーが鳴るかどうかの検証は、
どうする?ダミーを確保して圧迫させるの?
どのくらいの頻度でブザーが鳴るのか見当はつくもんなの?
>>80 ブザーが鳴ったら出荷できないものとしてメモリ関係を総チェックする
最終出荷試験というかいじめ耐久試験をやって
ブザーが鳴らなくなったらテストクリア
別にブザーでもLEDでもなんでもいいんだけど
>>81 それはメモリ不足じゃなくて不良じゃないか?
>>82 確かにこの例では不良だな。
不足したときの対処なんて、その時によって違うから、一概に言えないと思う。
通信で、受信バッファを取りにいったら足りないなんて場合は、
再送してもらえるプロトコルであれば、そのデータは捨てて、
次に期待すればいいし、それじゃ困る場合は、きちんとエラー処理
しなきゃいけないし。
検証は…わざとエラーになる状態にして、予定通り動けばOKぐらい?
みなさん厨房の私にいろいろ教えていただいて(TдT) アリガトウございます。
すごく参考になりました。
ただ、81さんの方法だとすべてのテストケースを網羅するのが結構大変な
気がするのですが(割り込みの重なり具合とかバッファのたまり具合とか)
その辺はある程度割り切るしかないのでしょうか?
原子炉のシステムとかだと全部globalでとっててしかもメモリが2重化されてたり
するのだろうか・・ そもそもCでは書いてないか・・
>>84 > 原子炉のシステムとかだと全部globalでとっててしかもメモリが2重化されてたり
> するのだろうか・・ そもそもCでは書いてないか・・
そもそもハードウェアのフェイルセーフがある (...と、思う...。)
たぶんしないと思う しないんじゃないかなま、ちょっと覚悟はしておけ
>>84 ・割り込みの重なり
基本的には*重ねない*= 割込み中に他の割込み許可しない のが安全
・バッファのたまり具合
バッファは固定サイズで固定領域に取る事。
組込み系はメモリが小さいのに、可変バッファなんて使うと、時間と供に断片化
して、すぐに取れない領域が増えてしまう
断片化の事を考えると、mallocを使う場合は、パソコンのように文字列の扱いで
使うような使い方は出来ない。可変サイズで使うんじゃなく、木構造とかファイル
システム的な使い方をする場合に限るべきだな
>>84 原子炉の場合はソフトウェアを使わず、ハードウェアだけでロジックを組むらしいぞ。
ていうか、メモリが足りなくなるって
設計ミスだろ
>>89 お前はあらゆる段階でのメモリの消費量を完全に把握してるのかと
小一時間・・・
>>90 俺ずっとチップの設計やってて、最近マイコンに手を出し始めてるんだけど、
やっぱりみんなあらゆる段階でのメモリ消費量を把握してるワケじゃないのか。
いじってて「すべての分岐や割り込み考えてると、マイコン設計者はたいへんだなぁ」
と感心していたのだが。
>>91 いや、だからヒープは使わないって事で
スタックについては最悪量は計算するよ
分岐は構造化レベルで考えれば問題ない
割り込みは 〔これは危険〕ってパターンがあるからそれを逃げておけばOK
>>92 想像していた自分の感覚が大きく外れてないことがわかりました。ありがとう。
>割り込みは 〔これは危険〕ってパターンがあるからそれを逃げておけばOK
これは精進せにゃならんな・・・。
>弊社が2002年6月1日から販売しておりますビデオテープレコーダーの一部商品で、
>リモコンを使った翌年のタイマー予約ができないことが判明致しました。
やれやれ・・・・・日本で作ってないのか?
95 :
デフォルトの名無しさん:02/12/28 09:51
>>92 > 割り込みは 〔これは危険〕ってパターンがあるからそれを逃げておけばOK
基本は「割り込みと割り込み以外で同じ変数を読み書きしない」だな。
同じ変数を使うときは割り込み以外では割り込み禁止にしてから読み書きすること。
アセンブラの時にはレジスタとかPUSH,POPしてたなぁ。
96 :
デフォルトの名無しさん:02/12/29 08:15
あと、
出来るだけ割込中に別の割込を許可しないですむようにする。
タイマー割り込みは一つに纏める。それが出来ないなら割り込みは短くする。
たとえば、時間が来たかどうかをわざわざ割り込みを実際に発行させなくても、
割り込みを禁止しておいて、割り込みフラグが立ってるかどうかメインで見る
方式を使うとか、
タイマ割り込みでは push popもせずに (inc メモリ) 命令だけを出しておいて
メインルーチンでは ゼロでなければ dec で減算するようにすれば 割り込み
禁止にしないでも通信出来るとか
97 :
デフォルトの名無しさん:02/12/29 09:25
> ゼロでなければ dec で減算
これ、1命令でできるの?
98 :
デフォルトの名無しさん:02/12/29 09:43
>>97 1命令で出来ないけど、 ゼロでないならdecを実行しないなら問題ない
ゼロかどうかの比較と decの間に割り込みがあっても問題無い
100 :
デフォルトの名無しさん:02/12/29 18:50
多重割り込みしなかったら割り込みの価値半分捨ててるような気がするんですが...
>>102 割り込みといえば、よくH/W屋に言うことがあるな
「それは本当に割り込みでやる必要ある?」
大抵はタイマによる周期起床でポーリングすれば済む話だったり。。。。
>103
割り込みといえば、よくH/W屋に言うことがあるな
「手間じゃなければ念のため割り込み繋いどいてよ」
大抵はタイマによる周期起床でポーリングすれば済む話だったり。。。。
なにやってんだ?>俺
>>103 ワラタ、ありがちだな
>>95、96
タイマーがらみはそういう見方もあるのか、勉強になるなぁ。
割り込み禁止を使えば比較的安全になりそう、なんてのは素人の俺でもわかるんだが、
禁止されたときに来た割り込みは禁止解除まで遅れるワケで、そういうのはどんなもん
なんかな、とか考えてたので雰囲気がわかってありがたい。Thanx。
会社の人間はあまり突っ込んでやらないヤシばかりだから、このスレの方が
はるかに頼りになるよ。助かります。
頼りになる同僚はみんな辞めちゃったしなw。
良いお年を。>ALL
106 :
デフォルトの名無しさん:02/12/30 20:48
だから、多重割り込みは普通につかってるけどなぁ、ボクんとこなら。
割り込み禁止って、禁止のことなかり考えてると思うけど、
実は問題が置き易いのは許可した時のほうなのさ。
>>106 多重割込みってどういうふうな意味で使ってるの?
A) A割込中にA割込を再度許可する事
これは結構色々と注意が必要。
B) A割り込み中に別の下位のB割り込みが禁止されない事
これは普通。
B割込で上位割り込みを許可すると、そりゃA)と同じ
108 :
デフォルトの名無しさん:02/12/30 21:05
君の分類にしたがうなら(A)だよもちろん。
>>108 そうか、俺ん所じゃ、仕方なく使う事はあるけど、 普通には使わないな
不正割り込みの処理ぐらい普通にできて普通だしそうしないと...
まあいいか。
興味あるんだけど、普通にどういう場面で使うの?
うちは、
シリアル通信の特定のコマンドへの応答時間を確保する為に仕方なくとかのレベルだな
使って便利なものじゃない
112 :
デフォルトの名無しさん:03/01/06 01:08
多重割り込みでも互いに影響しないようちゃんとこーでぃんぐしとけばOK!
面白そうな話題だから混ぜておくれ。
>>107のA)は同一要因の割り込みが自分の実行中に割り込む事を許可すると言う事?
漏れの所ならばベクタの先頭で自要因はマスクするなぁ。なんかそうしなければ
ならない理由があるのか知らん?
他要因の割り込みの許可を行うだけならば極普通だと思うけれど。
なんかファミコンの割り込み思い出したよ
>>112 今言ってる多重割込は、SIO受信割込中に SIO受信割込みを許可するような
その割込処理中に同じ割込を許可する話みたいだよ。
普通は受信割込ではFIFOに格納だけしておいて、その処理を通信レート間隔以下
にするものだけど、 バランス的に仕方なく 受信割込で応答処理要れて、
時間が不足するから、途中で割り込み許可するなんて事はあるけど
>>115 うーん…SIO受信割り込み中に優先順位の高い他要因割り込みに割り込まれて
時間食われている間にSIO受信割り込みが来た場合とかの事?
状況的には理解できなくも無いけれど、SIO受信レジスタ参照直後にSIO受信割り込み
要因を舐めれば済む話のような気がするなぁ。割り込み処理内で払う再入や自要因多重
割り込みのオーバーヘッド等のコストに見合うメリットが思いつかない…
ハードウェアフロー使おうよ…
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27 鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
ひろゆきさん、まだいますか?
俺のプロバ当ててみろ!!!!!!!!
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27 鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
この板は中と半端な馬鹿が集まってきているから好き
大ニュースなのに全然レスがついてないな。
125 :
デフォルトの名無しさん:03/01/09 12:11
TINIのCPUってなんて石だっけ?
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
電気店のパソコン売り場から2ちゃんにカキコする奴が増えるんだろうなあ
もう全板IP取ってるの?
国際情勢もだめだ...
どうなっているの?
コピペ作戦失敗でこんどは芝居かよ(笑
>>893 ところがそれが通用しなくなる。
~~~の電化製品は壊れやすい と書いたとしよう。
ただ単に実際の経験からそうおもって書いたとしても
会社からすればまずい書き込みなわけだ。売れなくなるから。
すると、書いた人のことを会社は訴えるかもしれない(大げさな話だが)。
そういうことになるのを恐れて、名無しさん はうかつな発言はしないようになるだろう。
たとえそれが本当のことであっても、根拠がなければ訴えられるかもしれないのだから。
製品に関してのぶっちゃけた感想もあまり聞けなくなるかもしれない
ひろゆき氏が発行するメールマガジンで明らかにした。
ってあるけど、電波2ch以外にメルマガってあった?
" (゜Д゜)ハンパネー!!!
なんかここ鷺板に移転って話が出てるんですけど・・・
ウワァーン ( `Д´)=○)3゚)∵
肉体改造しろよ。ひろゆき。
87さんがんばってください。
応援だけはします!
特命掲示板
まあ、まさひこも大変だよな。
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
2ちゃんの次の巨大掲示板早く誰か作らないかな
それだとやっぱり誰かが
役割を受け付けないと行けないね。
いくつかに別れればいが。
どちらにしろ鯖的になってしまうのかな。
この調子だともう今日はひろゆき降臨しないな。
明日また来よう
祈念家紀子。
407 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:32 ID:jWxHxvti
>各板のTOPに一定期間、お知らせみたいに貼ってたら?
テストの結果次第でこのまま運用が続いたら書くかもです。
415 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:33 ID:jWxHxvti
羽田タートルは、仮処分の裁判を3回やってます。
つきあいきれません。
414 名前:心得をよく読みましょう 投稿日:03/01/10 20:33 ID:zU0biOqb
荒らしの追い込みはやらないですか?
以前、マァブがひろゆきにOK貰ったら追い込みたいといっていたけど
420 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:34 ID:jWxHxvti
追いこみ、めんどくさいんだよねー。
ひろゆき、変な鼻。
今度はプロ野球板もダメ
普通のことしか書かなければ大丈夫です。
778
放送禁止用語で塗り固められたレスを、
マスコミは画面掲載できないだろう・・・。
娘帰ってきたけど、下校時先生がずっとついてきたらしいよ。
全ての責任は当事者同士で解決しろってこと
人が書き込んだものに対して賠償するのもアホらしいしな
ごく当り前な考えだわな
騒ぐ程のもんでもない
わかるか?
プチ法廷ごっこでは、詭弁で開き直る2ちゃん擁護派は強い。
でもリアル法廷ではボロ負け。
過度の期待は禁物です。
(^^)
コピペしまくりウザ
160 :
デフォルトの名無しさん:03/01/15 15:18
C使ってる?
はいCも使ってる
>>161 Hi-Cってどこのコンパイラなのですか?
当方HiTech-Cなら聞いた事がある不審者です。
163 :
デフォルトの名無しさん:03/01/15 18:03
>>162 コカコーラです。
でも結構前に開発中止になりました。
(^^)
166 :
デフォルトの名無しさん:03/01/15 22:13
一般的な光電材料の応答速度ってどれくらいあるんですか?
扚━━(゚∀゚)━━!!
# さっき別の板で実体参照使えなかったからここでテスト。。。
>>162 High C は Metaware 社のコンパイラ。往年の名機 FM-TOWNS 用の
アプリケーションの開発で使われていました。
High C の「反復子」の書き方憶えてる人いる? つか,使った事ある人いるのかなあ?
>>169 そうかな まあそういえばそんなもんかな
>>170 いや、仕事のつもり・・といっても組み立ての人の仕事作るための
仕事みたいなもので、自分の作業費考えたら赤字みたいなものだけど
>>171 素直にレギュレータ使ったほうが早いとは自分も思うけどね
>3端子1個って7805使えって事ですよね?
>24V->5V 60mA だと19*60mA=1.14ワットが無駄になります
>負荷の4倍近くが無駄に消費される訳です。
あとこの計算はうそだと思う (24V側は60mAも吸い込まない)
板違いなのでsage
>>172 えと、7805はシリーズレギュレータなので、5V側の消費電流+7805の消費電流が24V側に
流れますよ。
スイッチングレギュレータICを使えばって話も出てるけど、
でもLEDを点灯したら60mA しなければ1mAなんて条件では、
現実には効率を確保するのは難しいでしょうね。
お! シリーズレギュレータだったか すまそ。
いえいえ
グチになるけど、
なんかこの世界も、もうダメって感じです。
4ビットのマイコン使って色んな所でコストダウンして
なんとかガンバレてたのは一昔前だな・・・
ユビキタスは利用者の夢じゃなく作り手の夢って感じだし
(゚∀゚)ユビキタスは不備来たすってか
>>176 やまだくーん、1枚あげて
ところで、村井教授や坂村教授がICチップでなにやら始めましたね
あれってどういうもんなんでしょう?
>>175 ホビーならいいけど、仕事でこんな回路を提示されたら断るよ。
効率と安定を両立させるなら、素直にデコデコにしなさいな。
電源周りはソフトの介入をできるだけ避けるのが事故を起こさない為のセオリー。
SW1=ONかつSW2=ONの状態でPICが暴走しても回路が燃えないようにするべし。
>>179 ええと、これも一応スイッチドキャパシタのDC-DCコンバータですよ。
で、後半の件は
http://www53.tok2.com/home/vbc/cgi-bin/upload/source/up1581.gif この回路の事? なら大丈夫。
マイコンが暴走してTR3をOnでもOffでも停止してくれれば電源が死んで
やがて電圧が落ちてくれる。
どれかの部品が壊れた時は、まず
TR1,TR2はベース共通のエミッタフォロア
だから、両方がONにはならない。仮に片方が壊れたとしても、貫通電流は
C1をチャージする。 だからマイコンがC1の電圧を監視していれば 判る
からLEDの全点灯を防いで消費電流を抑えたなら 78L05が熱破損する事はない
C2がショートで壊れても同じ。 オープンで壊れたら電源が入らないだけ
C1がショートで壊れてもやはり電源が入らない
と、一応個別に故障した場合は考えております。 トランジスタが破壊した上で
マイコンが暴走してLED全点灯で止まったとしても、 78L05が熱もってきて
出力電圧が落ちてフェイルセーフに働く筈・・・・まあ実験しないとわかんないけど
一応24V側にはヒューズ代わりと電源の逆接防止用に1S1588と10Ω抵抗入れてあります
ちょっとハード寄りすぎるネタふっちゃったので、
今、悩んでるのが3角形の塗り潰し。 コマンド方式の表示パネルを相手に
画面にメータ表示をする部分で塗潰し3角形を描くのだけど
DDA使って水平線に分割して3角形を描く迄は出来た。
問題は、描画がコマンド方式なんで、消してから描くとチラツいてしまう事。
で、重なってる3角形を3つに分割して、それぞれを消去すればいいと思ったけど
単純に既に作った3角形塗潰処理に渡して処理してしまうと、
データは16bit幅なんで、誤差が出来てしまい消え残ってしまう個所が出る事
>>181 のは解決しました。
3角形を塗り潰すDDAルーチンのループ中の変数を構造体にして
2つの3角形の塗り潰し処理を同期させて 処理しました
183 :
デフォルトの名無しさん:03/01/23 16:06
FFT(フーリエ変換)したいんですが、
一般にはFFTwが高速だと言われてます。
が、SHだと、SHに合わせたライブラリとか、
それように自作した方が高速になるのでしょうか?
FFTのどこが笑えるのか、しばらく悩んでしまった……。
185 :
デフォルトの名無しさん:03/01/23 16:14
一般論として、
fftw は浮動小数点のライブラリなので、
計算精度によっては 固定少数点で計算した方がやっぱり速いでしょうね
>>186 固定小数点版を自作すると高速化になるのですか。
「浮動小数点コード→固定小数点コード」変換は、
決まったやり方でできますか?
ついでに、売り物の高速演算ライブラリとかはどうなんでしょう。
SH は使った事はないのですが、確か 浮動小数点ユニットは持っていませんよね?
>>188 FPU命令ですよね?でしたら、SH-4からみたいです。
SH-2を使うので、無いです。
だとしたら、固定少数点で実現可能な範囲の精度なら固定少数点で計算したら高速です。
32x32の掛算が可能として、12bit精度で256点程度なら出来た記憶があります
>>190 了解しました。
32bitマイコン固定少数点ライブラリなんかないですかね。
SH-2 DSP
>>192 DSPにFFTが入っているということでしか?
>>191 一応、忠告ですが、
FFTを固定少数点でするのは、精度の検証とかシンドイ部分が多いですよ
バタフライ演算1回ごとに、少数点位置を動かしながらになるんで
コードサイズも結構大きいです
(^^)
196 :
デフォルトの名無しさん:03/01/23 23:30
>>1 MSCOMM経由で相手に渡す ワードデバイスとかの話もいける?
198 :
デフォルトの名無しさん:03/01/24 02:11
> 前スレで出たのは
> PIC H8 SH M16 ARM 6502 x86 Z80 TMP47
AVRが出てないのが哀れ…使ってる人いない?やっぱAtmelが頼りないから?
>>196 MSCOMMはVB用のOCXですよね?
ワードデバイスはワードをバイナリでみたいな事?
ちょっと複雑になると 直接CreateFile/ReadFile/WriteFile
した方が何かと楽かも
>>197 あ、そっちは意欲的回路って奴です。
以前、マイコンを思いっきりメインに使った電源回路で、発振子が止まって大失敗って
経験があるんで多少臆病ではあります。
>>194 なんか実際作られたような書き方ですね。
だとしたら、公開して欲しいな。
201 :
bloom:03/01/24 09:02
>>200 残念ながら固定少数点での演算は目的に応じてチューニングするので
公開しても意味が無い・・・という理由で一般には入手出来ないのでしょう。
で終ってもなんなので、
アナデバDSPの資料で、共通浮動型みたいなFFTコードが公開されてたような記憶があります
基本的に固定少数点ですが、少数点位置を全体で1つの変数として持つ方式だったかと
そういえば、自分が作った固定少数点のFFTルーチンも、
速度が不足して、結局、精度8ビットあればいいやという事に
なって、複素対数化した上でのFFTに切り替えました
>アナデバDSPの資料で、共通浮動型みたいなFFTコードが公開
これだけじゃ見つからないYO!
>複素対数化した上でのFFT
難しい。どういう意味ですか。
>>205 TinyH8みたいに安いICEだしてくれれば使うけどなぁ・・
新規にSuperHやるよりはらくだと思う。
>>206 ちなみに、単品900円だ。安いぞ。
ただし、内臓ROMなし。
え? フラッシュROM内蔵じゃないの?
そんなのH8じゃないやい
>>209 そんなん言われても(´・ω・`)
> 今後、「H8SXシリーズ」として、高速版やフラッシュメモリ搭載品、USB(Universal Serial Bus)などの周辺機能 等、ラインアップ拡大を図り、OA・民生分野や自動車分野等向けのASSP品の開発を行なっていきます。
だとよ。とりあえずは様子見ってとこかな。
>>203 申し訳ない。資料名迄は覚えてないよ。
対数化した上での話は、昔の掛算にビット幅だけサイクルがかかった頃だったから
使った方法で、今の掛算が1サイクルの時代には役に立たない。
>>205 評価ボードが欲しいが…
SolutionEngineは高いからのー
とりあえず資料待ち。
H8SXの次はDX→DX2→DX4だったっけ?
215 :
デフォルトの名無しさん:03/01/27 13:46
やっぱマイコンでは、template構文とか、STLは使えないのでしょうか。
マイコンって?
217 :
デフォルトの名無しさん:03/01/27 14:22
もし、今から新卒就活中に戻れたら、
オープン系と制御系どっちに就職しますか?
現在就活中なんだけど、迷ってしまって埒があかない・・・
どなたかよければアドバイスを(;´Д`)
218 :
デフォルトの名無しさん:03/01/27 14:26
219 :
デフォルトの名無しさん:03/01/27 14:30
221 :
デフォルトの名無しさん:03/01/27 14:48
>>220 やっぱりテンプレート無いですね。
それどころか、例外処理や実行時型識別が無いなんて、既に別物。
テンプレートがプログラムサイズを増大させるって書いてあるんだけど、
その辺の理屈がよくわかんない。
最初は、オブジェクトファイル毎に生成されるためだと考えたんだけど、
g++で試したらちゃんとマージしてくれた。
別に、ライブラリを出来合いのものを拾ってこないで
自分で用意すれば例外処理もなんでもOKです。
ていうか適当にサブセット作って使ってますし。
224 :
デフォルトの名無しさん:03/01/28 13:11
HEWってSTLつかえなかったっけ
あまり使いたくはないけど
225 :
デフォルトの名無しさん:03/01/28 19:32
>>224 なんとなく使えるっぽい。
>>223 例外処理って、構造化例外のことであって、当然文法上のことなんだけど...
227 :
デフォルトの名無しさん:03/01/30 08:35
>>226 try catchの構文解析をコンパイラに自分で組み込むわけ?
try ~catch を後付けで実現するのは難しいから
TryCatch関数を作るかな
TryCatch( Proc1 ,catchProc); みたいに 関数ポインタを渡して・・・・
例外が完全にサポートされないって事は、クラスインスタンスをスタック上に取るのも難しいような
個人的には try catch のネストと
不要になったインスタンスの後片付けを
関数ごときでどう処理するのか興味がある
230 :
デフォルトの名無しさん:03/01/30 10:13
catchProcはどこからコールされるわけ?
呼ぶ関数にcatchProcを引数で渡して、そこから呼ばれるの?
>>229 グローバル変数 例外ポインタ AP を導入、
TryCatch
先頭で、現在のスタックフレームに SP,BP,AP、例外関数ポインタ を保存
APにそのスタックフレーム位置=SP を記録し Proc1を呼出す。
例外を投げる関数の処理
例外ポインタ AP からスタックフレーム位置を取り出し SP,BP,APの
TryCatchの呼び出し位置に巻き戻す
その後、例外関数ポインタがNULL なら、さらに 巻き戻しを行う
例外関数ポインタがNULLで無ければそれを実行して 処理を終える
232 :
デフォルトの名無しさん:03/01/30 12:50
233 :
デフォルトの名無しさん:03/01/30 12:54
エピローグ
234 :
デフォルトの名無しさん:03/01/30 19:52
目立のコンパイラ使ってます。
Cソースから、C++ソース内の関数呼べますか?
ま、クラスの生成は無理だと思うので、せめて関数。
>>234 Cから呼びたいC++の関数にextern "C"を付ける、なんてのじゃだめ?
クラスのメンバ関数とかは無理なわけですが…。
>>234 コンパイラの名前修飾を解析して、その関数名をCで書く……
途中に?とか挟まってたら無理だけど。
>>235-
extern "C"で出来ました。有難うございます。
239 :
デフォルトの名無しさん:03/01/31 09:45
SHには、コンパイラ定数ってないんですか?
#ifdef SH
とかしたいです。
240 :
デフォルトの名無しさん:03/01/31 09:58
241 :
デフォルトの名無しさん:03/01/31 11:00
結局、c++のtry catchは使わない方が良いのですか?
243 :
デフォルトの名無しさん:03/01/31 20:10
>>241 処理系が例外処理をサポートしていたとしてもマルチタスク環境ではリエントラントに
ならないという問題が発生する。
GCCのようにソースが公開されていれば対策することは可能。
サイズの肥大化はthrow()やinlineを駆使するなどすれば最低限に抑えることはできる。
244 :
デフォルトの名無しさん:03/02/01 00:33
どなたかHEW分かる神おりますか?
アセンブラからCの関数を呼ぶのはどうしたら良いのでしょうか・・・
(アセンブラ)
.IMPORT _giko
JSR @_giko
(C)
void giko(void){
}
これじゃダメなの?
>>244 普通はそれで呼べると思うが。
なんかエラーになるの?
>>245 warningがでるんです・・・
なんかが重複するって書いてありました。
やっぱり、これで良かったんですね。
週明けにもっかいやってみます。
>>246 WARNINGの具体的なメッセージを出してくれ
>>244 なんか @ 付いてるとつい間接参照に見えてしまう
249 :
デフォルトの名無しさん:03/02/01 10:07
NetBSDやuclinuxを使った仕事ってどこにいけばありますか?
制御の仕事をしたいと思っている、28歳PCUNIXヲタクです。
250 :
デフォルトの名無しさん:03/02/01 13:19
>249
妄想で脳内仕事でもしときやがれ
ヴォケ
251 :
デフォルトの名無しさん:03/02/01 13:47
>>250 そういう仕事はないというkとでしょうか?
それとも私には務まらないということでしょうか?
遠慮せずにはっきり言ってください。
28歳ってのがいかん
日本でuclinux使う仕事ってあるの?
あるなら漏れも入れて欲しい。
>>252 なるほど、それは確かにそうですね。
いくつかあたってみてそれでダメなら
諦めます。それとは関係無しに、pcunixを
仕事で用いてるところはあるのでしょうか。
BBルーターなどはそうですね。他には
なにかあるのでしょうか?
NetBSDやuClinuxを使っていたとしても、
仕様書は大抵MS-Wordで書かされる。
それが耐えられますか?
OpenOfficeが出始めてきているから今後どうなるかわからんけどねー。
最終的にPDFに落とせばいいってのもあるから、大抵ではないか。
>>255 別にそんなのどこでも同じじゃないですか?
それに仕事はWindowsアプリだし。。。
>>257 うちの同僚のUNIXヲタは悪態つきながら書いてるんで。
TeXとかに慣れた人の中には耐えられない人もいるじゃないかと思って。
259 :
デフォルトの名無しさん:03/02/01 20:55
はっきりいうと、BSDとかLinuxとかの仕事はクソほどある
ただ、カーネル読めて改造できるくらいのスキルないときびしいだろう
スケジューラいじりまくったり、MMUのないMPUに移植したり
そのあたりが朝飯前でできないようじゃ苦しいってこった
>>259 そういう事やっているところというと…
京都方面かな?
>>259 クソほどあるって言っている割に仕事の内容を書かずに、
~くらいのスキルないときびしいだろうって
想像ばかりで信頼性が極端に低いな。
264 :
名無しさん@Emacs:03/02/01 23:30
>>249 ウチはそういう人欲しいぞ。
どちらにお住まいですか?
265 :
デフォルトの名無しさん:03/02/02 00:49
>262
京都方面が有名かもですね。
SSSのところとか。
ネトビで有名な東京方面のとこもあるおもいますけどね
>>265 日本でnommuと言うと二箇所しか思い付かないんですが…
京都方面はそこです。
267 :
デフォルトの名無しさん:03/02/02 21:31
>263
素人はすっこんでろ、ヴォケ
最近多くなった ビデオのHDDレコーディング可能な機種って LINUX使ってるのかな
>>268 組み込み用Windowsが多い罠
知り合いに前に聞いたときは
やはり技術問題をメーカー(ディストリビュータ)
に問い合わせられない(自力でなんとかしる)
というのが最大のネックらしい
なにか問題があったとき、たとえ
責任は押し付けられなくても メーカーに文句言えれば
ちょっとだけだが問題解決を手伝ってくれる(たとえ役立たずだとしても)
というのがやはり大きいらしい
未だに8085の仕事してる俺には夢みたいな話ばかり出てるな。
レス下った方ありがとうございました
結局Warningは
ADDRESS SPACE DUPLICATE
でセクションを正しく設定したら通りました
272 :
デフォルトの名無しさん:03/02/03 15:09
watchpointで、リソースの設定、absのダウンロードの処理を行うと、
”アドレスパラメータエラー”になります。
何ででつか?
fprintfやprintfが入ってると”アドレスパラメータエラー”みたいでつ。
どの関数でエラーになってるのか、watchpointは教えてくれないのでしか?
274 :
デフォルトの名無しさん:03/02/04 09:12
275 :
デフォルトの名無しさん:03/02/04 18:04
組み込み機器用にマックアドレスを取りたいのですが
誰か解る方アドバイスお願いします。
>>275 お持ち帰りですか?
今ならこちらのUSBベンダーIDもセットでお安くなってますよ。
277 :
デフォルトの名無しさん:03/02/04 18:27
>>275 MACアドレスは、先頭からの3bytesのベンダコードと残り3bytesの
ユーザコードの6bytesで構成されています。
ベンダコードは、IEEEが管理/割り当てを行っております。
俺は、会社のMACアドレス管理してる部署から
プリンタで打ち出したMACアドレス書いてあるシールもらって
きて、デバックモード使ってからフラッシュに書いた。
この前出た洗濯機はEmbededWinCEだったね
あれはあれで意味があるのかなぁ
280 :
デフォルトの名無しさん:03/02/05 09:05
ITRONのデバッグ出力は何使ってますか?
281 :
デフォルトの名無しさん:03/02/05 09:08
283 :
デフォルトの名無しさん:03/02/05 09:50
284 :
デフォルトの名無しさん:03/02/05 10:12
ITRONのデバッグでハイパーターミナルにデバッグ出力してる人居ますか?
>>282 電解コンデンサを飛ばしたりするんですか?
>>284 まともな通信ソフトを調達した方が良いのでは?
ハイパーターミナルは、謎な挙動が多すぎます。
>>285 通信ソフトは別のものが良いですか。
実はITRON側のプログラミングが分からなかったり、コマテマス。
てらたーむ
288 :
デフォルトの名無しさん:03/02/05 19:10
制御系ということで、x86のアセンブラについてお尋ねさせてください。
.text
.globl main
main:
xorl%eax, %eax
loop1:
incl%eax
movl$9999, %ecx
loop2:
decl%ecx
jnsloop2
cmpl$9999, %eax
jleloop1
ret
よりも、
.text
.globl main
main:
movl$9999, %eax
loop1:
movl$9999, %ecx
loop2:
decl%ecx
jnsloop2
decl%eax
jnsloop1
ret
のほうが、高速に実行されないのはどうしてですか?命令が少ないので後者のプロ
グラムの方が速いと思ったのですが・・・。
>>288 どうしてですかって どの86で? 単にアラインの問題じゃないの?
というか、そんなレベルの最適化ってあんまり意味ないよ
H8で最速のRAMクリアコードとは?・・・ とかならともかく
Montavistaって何かいいことあるの?
291 :
デフォルトの名無しさん:03/02/05 19:26
>>289 288ですが、実行時間の計測のCPUはi686です。アセンブラはLinuxのカーネル
のhead.Sを読みたいために勉強をしています。つまらない質問で板を汚してす
いませんでした。ちゃんと質問できるように勉強し直してきます。ご返事あり
がとうございました。
>>289 H8での最速のRAMクリアコードとは?
>>291 いや、スマン。
ペンティアム以後なら、たぶん、2つのコードは同じ負荷のコードだと思うよ。
差が出るのは誤差の範囲だと思うな。
ただ、後者の方が、同じ jns で分岐してるから 分岐予測が効くのが少しだけ
遅れたりするのかもね。 判らないけど
294 :
デフォルトの名無しさん:03/02/05 19:57
>>293 288ですが、前者のプログラムに対して、後者のプログラムの実行時間は
約150%増です。レジスタで判定するよりも、算術演算命令の方がCPUのコス
トが安いのでしょうか?色々調べてみるきっかけができてました、ありが
とうございます。
295 :
デフォルトの名無しさん:03/02/05 20:11
>>293 288ですが、後者のプログラムの実行時間は前者のプログラムの約150%増し
でした。decでレジスタを変化させるよりも、cmpでレジスタを変化する方
がコストが安いのでしょうか?それとも、jleよりもjnsの方がコストが高い
のでしょうか?色々調べてみるきっかけができました、ありがとうございます。
296 :
デフォルトの名無しさん:03/02/05 20:12
288ですが、通信が安定しないので、二重書き込みしてしまいました。すいません。
>>295 だから、2つのループで 150%もコストに差が出る筈がない。
何故なら、内側のループは同じで、外側のループの $9999倍も重いのだからさ
差が生じたのは単なる誤差の範囲。 あるいは配置番地の問題。
同じコードで前方にnopを1個づつ増やしていってみてごらん。
298 :
デフォルトの名無しさん:03/02/05 23:49
>>297 288ですが、ご迷惑をかけてしまいました。ご指示された通りに試してみたら、まさ
にその通りでした。
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
24時間受付 090-8505-3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール hentaimtt@k9.dion.ne.jp
グローバル探偵事務局
300 :
デフォルトの名無しさん:03/02/06 00:49
多重割り込みで割り込みの優先順位って、一般的にどうするのが正しいのでしょう?
もちろん用途によっちゃうんですけど、セオリーってないですか?
タイマ割り込みは一番低いとか
ちんこが制御できないのですが、誰かちんこを制御する
プログラム教えてください。
302 :
デフォルトの名無しさん:03/02/06 01:05
開発に使っているお道具ツールを紹介してください。
エディタとかはスレがあるけど、
小物はないような気がする。
コードのサム値が出せたりとか
開発ステップ数をモジュール毎にエクセル出力してくれたりとか
有効な静的テストツールとか
あるっしょ。いろいろ。
開発環境教えてください。
過去スレにあるのかな?
>>300 漏れの思うにセオリーは2つ。
1.リアルタイム応答要求の厳しい処理は優先順位を上げる。
2.処理時間の短いものは優先順位を上げる。
この二つは相補的でもあり、リアルタイム応答要求の厳しい優先順位の高い
処理は処理時間を短くしなくてはならない。まぁ、当たり前といえば当たり前かな。
一般にタイマ割り込みの優先順位を低くして良いかと言えば、そうでもなく、
例えばソフトウエアモデム等をタイマ割り込みで実装しようとすれば、当然優先順位は
高くした方が性能が良くなる可能性が高い。ケースバイケースだな。
>>300 セオリーは それぞれの要求を表にする事かな
シリアル受信なら次の受信完了迄に終る必要があるとか
調歩同期信号をタイマー割り込みで作ってるとか、
そんな表を作ってから、
タイマー精度が不要なタイマーは割り込みじゃなく、割り込み要求フラグをメインで見るとか
そんな分析が可能になるわけで
>>302 小物は、その都度、自分で作る。そういう姿勢が結局最終的なトータルコストを下げるかもね
305 :
デフォルトの名無しさん:03/02/07 01:18
>>302 小物ではないがRational Test RealTimeとかRose RealTimeとかって
使う人いるのか?
Rhapsodyとかもあるけど、あんなんで開発できるんかなーと。
306 :
デフォルトの名無しさん:03/02/07 03:36
QACは有効だったよ。
結構バグみつける。
307 :
デフォルトの名無しさん:03/02/07 03:39
割り込み処理のデバッグって難しくないですか?
単体でテストしてもしょうがないし。
モジュール見てうーんて悩むしかないのかな?
最近はできるだけ負荷かけて早く動かすことで
穴がないかどうか見るようにしてるけど。
308 :
デフォルトの名無しさん:03/02/07 03:40
開発規模が大きくなるとスタックってどのくらいかかるか
見積もれなくなるんですけど
なんかいい方法ないっすかね・・・。
>>308 足し算すればOK!
コンパイラが各関数のスタック量を計算してくれるんだし
あとは関数の呼び出しッぷりをツリー表示するツールを使って
ツリーのそれぞれの末端で合計出すツールを
ぷるぷるっと書けばOK!
半日で出来るから、そしたらその後は昼寝してる間に
こにゅーた
最後の こにゅーた は間違いです。
こにゅーたと書こうとしてこにゅーたと
また間違えた
こにゅーた ?
>>307 ICE使えないのか?
や、オマエのスキルとかの話じゃなくて環境の方な。
ICE 使っても、一度止めると通常とは同じ環境じゃなくなるからね。
>>309 半日で作るための知識を教えてください。
>>315 普段の仕事で自作スクリプトとか書く事はないの?
318 :
デフォルトの名無しさん:03/02/07 14:46
>>310 こにゅーた、って何なんだ?
気になるじゃないか。
三菱と日立が合併したら H8 と M16ってどういう関係になりそうかな?
どっちかいうとM16が好きだったんだけどなあ
320 :
デフォルトの名無しさん:03/02/07 16:25
組込みってオブジェクトファイル形式はどんなの使ってるの?
>>319 MDの設定で命令セットが切り替わるとか。
そういやM32の未来も気になりますなあ。
>>322 そんなの作ってくれたら嬉しいけど・・・コストアップはイヤだな
4月って事だからもうスグだね。
FROMライターとかM16の方メインで用意(自作だけどね)してたから M16こけたら少し困るな
まあ開発中の品種もあることだしそう簡単にコケたりはすまい…
325 :
デフォルトの名無しさん:03/02/08 00:46
ソフィアのICEはとびまくって困る。
一時期ICEのデバッグやってんのかソースのデバッグやってんのか
わからなかったことがあった。
あと、PCを新型の早い奴にするとだめになったりいろいろ。
大規模のソースには不向きです。ダウンロードに5分なんてやってられない。
お勧めICEってあります?だめなICEも。
ICEに不具合があるとプロジェクトそのものが大打撃うけるんで
新製品がでても購入にふみきれないんだよね。
うちでよく使っている石はSH3・4とH8。
動作実績って集めたいなぁ
326 :
デフォルトの名無しさん:03/02/08 01:07
>>303 なるほど。
やっぱそーすか・・・・。
思ったとおりでちっっと
残念
327 :
デフォルトの名無しさん:03/02/08 01:10
>>309 お道具ツール公開希望。
フリーでないかいな
328 :
デフォルトの名無しさん:03/02/08 01:16
>>313 昔の基板の改造とかあんのよね。
もうICE対応基板が壊れてだめだとか。
ICE自体もPCー98だったりやってられん。
なのに、新型に搭載すると処理が間に合わないから
多重割り込みにしようとか
やっかいなのがくるんだよな。
こないだもDMAを単一からチェーンにしたし。
すべての組み合わせを網羅したのかとっても不安。
通信基板だと入ってくる電文のタイミングや長さによるし。
ライフサイクル終わりかけの保守ばっかりなんでICEなんて使えない。
じっくりコード調べてバグ仕込まないように細心の注意を払ってエイヤ!
それで10年前からあって増殖しまくりのバグ見つけたことも。
イワサキのICEは使いやすかったけど、今でもあるのかな?
ここ4,5年ICE使わないで一発勝負が続いてます。
>>329 岩崎というと…PROICEかな?
あそこはかなり前にあぼーんしてしまったはず。
謎の挙動があったけど、確かに使いやすかった。
Computex のICEってどう? H8用なんだけど導入検討中
>331
現在、CSIDE for ARMを使ってます。
ICEの使い勝手以前にCPUのデバッグ出力にバグが
あるらしくて大変です。
もう少しきびきびとステップ実行できたらいいんだけど。
これはJTAGだからしょうがないんだろうな、きっと。
いろんなICEを使ったけど、いま考えるとPROICEが一番
使いやすかったかも。
334 :
デフォルトの名無しさん:03/02/09 03:32
かなり初心者の質問でスマソ。
SHなんかのCPUの場合、intはulongで
ポインタ宣言すると領域4バイトとられるけど
386とかはどうなるんでしょうか
半分の4桁の数値がアドレスの何を示しているのか
謎で・・・・・。
キモイ…
>>333 Full ICEとJTAG ICEを比較するのは如何かと。。。
HP64700は使いやすかった。。。。
>>334 マジレス コンパイラとCPUの仕様書読め
そもそもポインタ宣言した場合、とられる領域はintだろーがcharだろーが同じだろ
339 :
デフォルトの名無しさん:03/02/10 00:41
くみこはどこにいったのですか?
341 :
デフォルトの名無しさん:03/02/11 15:57
げぼげぼ
342 :
デフォルトの名無しさん:03/02/11 19:04
bfg
hs
h
rj
ra
j
tyj
ytd
k
ted
k
343 :
デフォルトの名無しさん:03/02/14 11:00
質問ですが、C++で書かれた固定小数点クラス使おうかと思ってますが、
これで浮動小数点より高速化になりますでしょうか。
それとも、固定小数点するときって、汗で書かないとダメでしょうか。
345 :
デフォルトの名無しさん:03/02/14 11:15
え”ー。
だって汗書けないんだもん。
それから、汗って、SHシリーズでは共通ですか?
てゆーか実装次第
347 :
デフォルトの名無しさん:03/02/14 11:45
>>346 じゃあ、
C++で頑張ってたけど、やっぱ、汗じゃないとダメだわ、
みたいな結末は心配しなくてよさそうってこと?
アセンブラで書いて効果があるのはCFを使う多倍長演算くらいかな
あと、
(a*b/c) みたいな掛算直後に割算する場合 掛算結果が倍長でその
まま割算する関数をアセンブラで書いたりはするけど、
あ、同じことやります。16bitH8のcでushort*ushortしたら32bitの結果が
出ると思ったらMSWをわざわざクリヤしてくれてて怒り狂って作ったなあ。
>>348 なるほど良く分かりました。
ビットのシフトなんかで汗かな、と勘違いしたけど、
シフト演算子がありましたね。
351 :
デフォルトの名無しさん:03/02/14 23:33
Full ICEとJTAG ICEのちがいがよくわからないのですが。
利点・欠点などありますか?
352 :
デフォルトの名無しさん:03/02/14 23:37
便乗質問。ICEの選定時に気をつけることがあったら
アドバイスください。
Full ICE: 内部メモリも含めて完全にシミュレート さらに過去数百ステップのメモリ変化を
すべて記憶
この目的のために作られた特殊なCPUを使用
JTAG ICE:プログラムにブレークポイントを設定し、ブレークポイントで
止まったときに特殊なピン経由で中のレジスタ、メモリを覗いたり変更したり出来る。
既存のCPUにはこの機能が付いており、量産品にそのまま接続可能
と理解してるんだけどちがうのかなあ
Full ICEだとCPUソケットをつけなきゃいけない上に、たまに変な規格のソケットでないと
つかなかったりで、結局ICE対応基板をべつにつくらないといけないことがある。
あとクロック回路が水晶じゃだめでオシレータが必要だったりとか。
354 :
デフォルトの名無しさん:03/02/14 23:53
漠然とした質問ですけど
組み込みソフト屋として
ハード屋さんに頼んでおくと良い事ってありますか?
私はとりあえずシリアルの口が欲しいって言う事にしてるんですけど。
使用用途が無くてもあとで助かる事が多いので。
ちゃんとした実装で無くても引っ張り出せればなんとかなるから・・・。
>>353 ちゅうか、JTAGは厳密に言うとICEではないわな。
デバッグするにはICEの方が良いに決まっているが、カスタムチップ等の場合
ICE開発が間に合うわけがないからJTAGが重宝するわけだ。
JTAGが何かと言う問いに対しては、"IEEE1149.1","JTAG"でぐぐると吉かと。
356 :
デフォルトの名無しさん:03/02/15 00:08
>>353 あ、早速ありがとうございます。
JTAG ICEって実機のCPUにそのまま接続するんですか?
ヒゲかなんか出して?
(すみません。こんなことすらわかってなかった・・・。)
そのかわり動作履歴なんかはとれないということなのかな・・・。
ひょっとしてSTEP実行もできない?
ブレークポイントが複数はれないとかあるんでしょうか?
予算度外視すればどっちが使い勝手(ソフト屋の)はいいもんなんでしょうか?
357 :
デフォルトの名無しさん:03/02/15 00:18
ST段階でやフィールドで出たバグって
再現しなかったり、再現してもお客さんが運用中で手が出せ無かったりと
こまったことがあるもんですけど、
そういうバグのつぶしってみなさんどうしてます?
>>356 予算度外視すれば当然フルICEじゃないの?
STEP実行とかはできると、H8Tiny売りに来た目立のおっさんは
いってたが。
(コードカバレッジとかトレースに関する機能以外はフルICEと一緒だと)
ROM ICEが手軽で良いよ……
gdbスタブを載せたいのですけど
よくわかんないので誰か教えれ
362 :
デフォルトの名無しさん:03/02/19 07:18
16bit H8/3007のASMで mov.b @ER6,R6L は正しく実行されるでしょうか?
ふつうは同じレジスタを使わないことで安心コードしますが、できるのなら
ラッキーですよね?
>>362 出来ます。
mov.l er7,@-er7
なんてのもありです。
thanksです。安心しました。
365 :
デフォルトの名無しさん:03/02/20 08:50
ITRONの開発でrealloc使うのは反則ですか?
とりあえず、
#include <mem.h>
の行が怒られますた。
>>365 自分でその部分を作ればいいじゃない?
ライブラリ買って来て使うのに必要で、仕方なく専用のmalloc/realloc作る事はよくあるよ
367 :
デフォルトの名無しさん:03/02/20 09:08
>>366 ま、良くあることですが、どっかに無いかなーと思って。
でも、
#include <string.h>
でコンパイルできますた。
次に、
L2310 (E) Undefined external symbol "_abort" referenced in "error"
みたいなエラー。
"_abort"なんて自分で参照してないよー。
>>365 メモリブロック獲得のサービスコール使って、
型と引数を併せた関数作れば問題なし
369 :
bloom:03/02/20 09:21
なんか、純粋仮想メソッド定義すると、上のリンクエラーだ。
何でぇ~
>>367 きっちりマニュアル読んだか?逆だ、と思う。
「 malloc()/realloc() 失敗時のハンドラである abort() を、ライブラリが『お前用意しろ』」
と言ってるんだろう。エラーハンドラを作るのは久美子系ではユーザの責任だ。
それから普通 <mem.h> なんて無い。 <stdlib.h> だ。
>>371 てゆーか、abort()を定義してないけどリンクエラー無くなった。
純粋仮想メソッドを、普通の空メソッドに変えるだけで。
また、リンクエラー出るようになった。
やっぱ、371タンが正しいのかも。
マニュアル類はきっちり保管されてません。
>>372 「純粋仮想関数が誤って呼び出されたときの失敗ハンドラである以下同文」
ではないかと。とりあえず何も品い abort() 自作して味噌。
マニュアル内のか…困ったな。ウチも他人のこといえない状況だが(苦藁)
とりあえずメーカWEBに公開されていないか?
'00'・・・'99'が入った表引きならcで書けて速いが表が100wdも食う。
同じくらい速くてサイズ最小のH8コード。
dec2b:;ushort dec2b(uchar x) {03.02.10
;/*R6Lの数値x(0~99)をASCIIの'00'~'99'にしてR6Wに返す。*/
;return ((x/10|'0')<<8)|(x%10|'0');
MOV.B #10,R6H
MOV.B R6L,R5L
EXTU.W R5
DIVXU.B R6H,R5;R5 H:余り L:商
mov.bR5L,R6H;R6H MSB
mov.bR5H,R6L
or.w#3030h,R6;R6L LSB
RTS
376 :
デフォルトの名無しさん:03/02/23 00:32
> 367, 371
printf()を書いたら、writeがないってリンカに怒られたことがあったなあ。。
ヘルプを読むとwrite()は自分で実装しろって書いてあった(当たり前)
まあ、用意されてるライブラリをリンクするだけで済む場合もあるんですが。
write()はたいがい実装シリアルに1バイト書くのをつけるんだよね。
複数CHあるとどのCH使っていいかシステムによっていちいち違うんだな。
378 :
デフォルトの名無しさん:03/02/25 09:30
ITRONでは、タスクは1つしか動かないようですね。
全体の制御は、どう書くのが一般的なんでしょうか。
具体的には、最優先タスクのwhileループの制御を教えて下さい。
>>378 マルチタスクじゃないITRONって。。。。
どんな腐った実装のITRONを使ってるんだ?
普通はタスクのプライオリティを最高にすれば
最優先で実行されるだろ。
380 :
デフォルトの名無しさん:03/02/25 09:58
プライオリティが最高のタスクが、待ち状態にならないと、
他タスクが動かないとITRONの仕様に書かれてるが。
しまった、脊髄反射してしまった。。。。
>>378 最優先タスクで、↓のような、whileループを作ると
他のタスクが動かないと言う話かな?
while(1){
無限の繰り返し処理;
}
そういうことなら、繰り返しの必要な時間毎に起床するようにすればいい
1番簡単な例だと
while(1){
無限の繰り返し処理;
tslp_tsk(tmout); <こいつを追加
}
実行しなくてもいい時間は待ち状態に入れる
正確な時間が欲しければslp_tskを使って手
タイマ割り込みを使って起床させるようにすればよい。
勿論他のタスク発生したイベントからでもOK
382 :
デフォルトの名無しさん:03/02/25 10:13
>>381 最優先タスクでwhileをまわすっていう状況がよくわからないんだが・・
>>382 俺だって分からん。
>>378に聞いてくれ
おれなら、停止することの無いシステムで
イベント発生後最優先で即時実行しなければならない
定型処理があったらああする。
例えば定期的にモニタしているデータをかき集めてくる処理とか。
それでも、できればH/Wをダブルバッファにしておいてトリガを掛けるだけに
したいところだが。。
>>382 つまり、main関数でwhileループしといて、
他のタスクにはwhileループ要らないってことね?
で、他のタスクは割り込みか、イベントだけにしとくと。
ところで、オブジェクト指向は?
もう一回確認させて。
mainじゃないタスクというのは、
割り込み関数みたいなのがあれば、アイドルループが無くても良いんでつか?
イベント待ちや、メッセージバッファのレシーブはアイドルループ要りますよね?
>>387 アイドルループって、もしかして
while(flag) ;
みたいなループの事を言ってるの?
ん?
ITRONにタイムスライスが無いって話じゃねーの?
無いんだったっけ?
390 :
デフォルトの名無しさん:03/02/25 17:34
アイドルグループsage
392 :
デフォルトの名無しさん:03/02/25 20:33
漏れも387がどんなアイドルループを考えているのか、わからん。
つか、何でイベント待ちにアイドルループが要るのだ?
393 :
デフォルトの名無しさん:03/02/25 20:35
なんかタスク18がイニシャルタスクであることが
多いんだけどなんで?
うちの会社だけ?
>>387 UNIXやWinなんかの既にOSが動いてるシステムの上で
走らせるアプリケーションと同じイメージで考えてないか?
395 :
デフォルトの名無しさん:03/02/25 23:51
アイドルループってのが何かは知らないが、
どのタスクも
while(1){
rcv_msg(); または wai_flg();
}
みたいな感じにならない??
三菱マイコンもうダメぽ
>>395 自分が見てるコードも、interruptと、そのループと、1セットになってる。
けど、そうならざるをえないの?
interruptだけの方が効率良さそうな気がするんだけど。
あ、interruptの開始終了内で、
ディスパッチ(メッセージバッファ or イベント)出来ないから、
interruptに対して、ループ監視するタスクが要るんだっけ?
400 :
デフォルトの名無しさん:03/02/26 12:54
関係ない話で申し訳ないんだけど。
みんな年幾つ位なんでつか?
三菱のμチップと日立のとではキャリーの立ち方が反対でしたよね。
一緒になったらどっちの論理になるんだろ?
>>398 割り込みの度にタスクの生成(スタック領域の確保等)までやるのか?
無駄だろ。イベント待ちにしといて、イベント起こした方が早い。
ハンドラの中でイベントフラグのsetは出来たはず。
>>400 。。。。。教えたくない
>>398 複数の割込からのメッセージ or イベントを1つのタスクで
さばいても良いので(イベントとメッセージは同時には
どちらか一方しか待てないが)、何も必ず1つの割込要因に
一つのITRONタスクが必要な訳ではない(けど、そういう
実装してる人もいるのかも)。
また、いちいちタスクに持ってかなくても、割込の中で
処理できてしまうなら処理してしまえば良いけど、割込の
インターバルがシビアだったりしたら割込で全部やる訳
いかない、ってのは釈迦に説法かしら。
>>400 もうすぐ32でつ。独身でつ…
>>402 >>404 割り込み内ってのは、スタック領域(ローカル変数と関数コール?)を
使うことさえやめた方が良いわけですか。
グローバル変数のフラグなんかでタスクに通知するわけなんですね。
>>405 > ローカル変数
NONO
自動変数です。
マルチスレッドでは変数の読み書きをCriticalSectionするけど、
ITRONのタスクや割り込み関数間でグローバル変数の読み書き注意した方が良いかな?
>>403 マイコンそのものは両方存続するだろうけど、システムLSIのコアにどっちのアーキテクチャを使うかはもめそうなヨカン。
412 :
デフォルトの名無しさん:03/03/05 20:32
>>409 どうせなら、ROM32K RAM32Kくらいのを作って欲しいもんだ。
ピン数は18PINに減らしていい。
413 :
組込もしまっせ:03/03/06 23:37
なんか、いきなり忙しくなった・・・めちゃくちゃ廉くて、納期なくての仕事ばかりだが・・・
納期なくてって「今すぐ」ってこと? それとも「いつだか判らない」?
俺もよくあるよ、非常識なほど短納期で、特急プレミアムぐらいくれりゃ
いいのに、標準の日数分しか¥考えてくれないの。
あ、それ(・∀・)イイ!
とうとう制御系はこのスレだけか。。。。
人口比じゃこんなもんか
6人月は、1人で6か月じゃなく、6人で1か月でもなく
1人で6倍の仕事を1か月ってこと
なんか制御系って標準化からいちばん遠い世界なんだよね。
それで418みたいなことが起きまくり。ごくたま~にその逆にも会うけど。
7dot*5dotとその横だけ拡大(7~10dot位)の英字とカナフォントの
ドット構成がどこかにありませんか?たて7dotを1byteのc定数にしたい
のですが、手で点々を書いてHexに書き直すのではたまらんので。
う~ん、どんなことすればいいのか見当つきません。あるファイルを
落としたとして、それをエディタでHex表示するとか?
>>423 Windows用のフォントを落として、インストールしたら、
例えば DelphiでもVBでも使って、文字をイメージコントロールに描けば
ビットマップとして簡単にアクセス出来るから、やってみたら?
>>421 男だったら全文字手で打て!ドットの鬼になれ!
オレがMSXユーザだった頃はだなぁ、英数字はもとより
などと言われるので注意しよう
昔、フォントが必要になって、シャープのポケコンからパクったなあ。
8x6じゃだめで、もっと小さい 5x7のフォントを表示させなければなら
なかったとき。
ぉぃ。
フォントにも著作権があるから、パクったことがばれるとやばいぞ・・・・
>>427 いや、まあ、市販されたり、外部に出たりするソフトじゃねーし、
使ったと言っても、グラフの軸の数値とか単位とか用にちょこっと使っただけだし、
バレることは無いだろうとは思うのだが。(まあ、しかし、悪いことには違いない。
すまんかったな>シャープ)
しかし、5x7のフォントなんて、そんなに種類があるとも思えないのだが、
一体誰が最初に作って、誰が権利を持っているのだろう?
液晶メーカの人とかなら知っているのかな?
>>428 自分とこで作ってるんじゃないの?
5x7なんて誰がデザインしても、似たようなものになりそうだし、
パクっても気が付かないような気がする。
>>428 JIS 規格かなんかに載ってた記憶があるが...。
432 :
就活中の名無しさん:03/03/15 17:22
組み込み系プログラマになりたいよage
ダメ?
>>432 別に(・∀・)イイ! んじゃないか?
画像やGUIのスキルのあるPGならカーナビ業界で需要があるよ
一体どんなレスを期待してる?
シャープは携帯機器向けのLCフォントを売ってるからなぁ。
あれって、サイズいくつだっけ?
カーナビといえば、昔の同僚の転職先がカーナビ屋だったけども、
やっぱり携帯のよーなひどい開発状態というような話だったな。
まともにソース管理もできていないらしいし。
435 :
デフォルトの名無しさん:03/03/17 00:23
皆さんに質問なのですが、
ITRONのタスクで1番優先度を高く設定して、しばらく回していると
そのタスクが勝手に止まってしまって、wup_tskしても起きてこないんです。
このときタスクはどのような状態になっているのでしょうか?
そして、何をすれば起きてくれるのでしょうか。
>>435 そんなんバグだろ
OS作ったやつに直接聞いて来い
437 :
就活中の名無しさん:03/03/17 00:43
>>433 resありがとうごぜぇますだ
今就活中で、組み込み系一本に絞って活動してるんで
実際に久美子系で働いている方々は
そーいう香具師をどう思うのかな、とちと気になって。
単にそのタスクがハングアップさせてるだけじゃねーのか?
439 :
デフォルトの名無しさん:03/03/17 01:17
>>436 そうしたいのは山々なのですが、正規ユーザーではないので聞きずらいのです。
>>438 タスク内である条件を待ってその条件が満たされたらスリープさせたいのですが、
ぐるぐる回していると勝手に止まってしまうのです。
もしかしてそれは仕様なのですか?
でも回復する手段があるのではないでしょうか。
tronについて良い資料がありましたらよろしくお願いします。
やりたい処理の最小限テストプログラムでも作って試してみては?
441 :
デフォルトの名無しさん:03/03/17 02:05
>>439 まずはシステムコールの戻り値を見ろ、と。
タスクの状態見るシステムコールもあるから、
状態だけ見たいなら別タスクからそれで見てみては?
「勝手に止まる」って状態がそもそも良く解らないなあ。
その最上位タスクは何待ちしてるの?イベント(wai_flg)?
それともメッセージ(rcv_msgは3.0までだっけ。4.0だとrcv_dtq??
この辺は現役の方、フォローよろ。)?
実はwait無しの無限ループ。
443 :
デフォルトの名無しさん:03/03/17 02:54
>>440>>441 レスありがとうございます。
勝手に止まるというのは、wai_flg()で走っていた最上位タスクが
何らかの要因により実行権が無くなってしまい、その後set_flg
してやっても起きてこない状態です。
その時の実行権はそれより下のタスクに
移っているようです。
ですので、単に暴走しているとは言い難いのです。
でも、そのタスクの状態を参照するシステムコールがあるのであれば、
それを使ってモニタプログラムを作ってみようと思います。
遅い時間までどうもありがとうございました。今日はもう寝ます。
>>425 結局そうなりました(´∀`)3時間くらいかかりました。
ほしい人いたらソースあげます。
ハードスペックが決まってからソフトの要求が出るが、その頃には納期が
あんまり(つ~か殆ど)無い、というのがよくありますよね。
この頃はなるべく早く嗅ぎつけて石の選択とか割り込み構造など口を出す。
同時にその段階から使えそうなコンポーネントを拾い集めておく。
すると本決まりになったとき一瞬でプログラムが作れるし、口を出した結果
ハード/ソフトお互いに楽になることが多くて喜ばれる。
>>443 単なるバグに1票
set_flgの実行結果とwai_flgの待ち条件を再チェックすべし
ぶっちゃけ、clr_flg打ってるところは無いか?
ICE使える環境ならflgへのWriteトレース掛けて見れば一発
>>439 正規ユーザになれよ。。。。
金がないならTOPPERSとか、フリーのもあるんだし
それはそれとして、良書といえば仕様書が一番
uITRON4.0仕様書
http://www.ertl.jp/ITRON/SPEC/mitron4-j.html uITRON3.0ハンドブック
μITRON3.0標準ハンドブック 改訂新版 (パーソナルメディア) ISBN4-89362-154-8
どっちにしても、実装依存の部分はマニュアル読まないと分からない
>>437 転職じゃなくて新卒か?
組込みと言っても4Bitや8bitのワンチップ使って
OSなんぞ無しで作る物から始まって、
RISC使ってちょっとしたサーバ並みの処理をやる物まで幅広いぞ
>>445 ハードをきちんと知ってる奴なら喜ばれるだろうが、そうでないと単にウザイ奴と思われるのがオチ。
> 一瞬でプログラムが作れるし
とか言ってるいる
>>445 は後者の予感...。
>>448 445では無いが、一瞬でプログラム作れるってのはよくある。
ハードが自社製なら、ハード担当の設計パターンは大体読めてるから。
パターン通りに逝かない箇所は、事前にハード担当から言伝有るし。
一瞬でプログラム作った前例が何度も有るなら、前者だと思う。
そして次から短納期ものを突っ込まれる
>>450 出来てすぐに報告する奴なんていないよ
余った時間は
H8/300シリーズ(8bit系)でライフボートのコンパイラを使っています。
232Cポートにドングルというコネクタを差し込んで使うのですが、
MS/DOS時代に買ったため25ピン。DOS/V機に変えたとき9ピンー25ピン
のストレートケーブルでCOM1ポートに接続してWin95、98まで
動作できましたが、WinXPでは認識されなくなりました。
どなたかXPでどうやって使えるかご存じですか?
>>454 (゚∀゚)もう面倒だからUSBシリアル買ってくれば?
>>455 多分無理だと思う。
一応、ライフボードに聞いてみた方がいいじゃないかと。
>>454 漏れは使った事無いが、gccでH8/300向けにコンパイル出来るはず。
移行は大変かもしれないけど、今後の事考えたら検討しといた方がよいかと。
>>454 XPはNT系だからDOSなんか乗ってない。
ドングルにアクセスするのにハードウエアに直接アクセスしてるから動かないのだろう。
環境移行するか、DOSで使うしかないな。
いろんなサジェスチョンありがとうございます。この4つの中で
見込みのありそうなのは457ですね。そのgccというのはどうやって使う
のですか?どっかのサイトへ行ってコンパイラ落とすとかいうのが要るなら
その辺を教えて下さい。私、MS/DOSで使ってたのがWinが勝手に進化して
困っています。 >456 ライフボートもソフトボートも、もう無いみたい。
>458 そうですね。そのためにPC98のDOSマシンとWin95マシンを残してある
のですが、いつまでもそんなマシンが必要なコンパイラてのはあんまりだ。
>>459 (゚∀゚)つーか、motファイル送るだけなら
別の転送用ソフトを使うって手もあるな
あとは制御線をループバックしたケーブル作ってみるとか
ありがとうございます。これから覗きに行ってみます。カナで検索かけた
から見つからなかったのかな。MOT送るだけじゃなくて開発もするので、
コンパイルできないとつらいです。
>>463 だから、開発は今までどおりで転送だけ別の手段を使うって幹事で
あ、そうですね。確かに旧マシンで開発はできるのですが、GHzのマシンに
慣れちゃうとトロくて・・・ぜいたくなんですけどね。それにdisplayが1台
しかないからいちいちつなぎ直して別のマシン立ち上げるのもつらいし。
460さんのおすすめサイトでH8のコンパイラありましたが、linuxのみたい
でした。やっぱりWinで使うツールって金取られるのがふつうなのかな。
顧客はNECのコンパイラ買おうとしてるみたいですけど、いちおうソフトボート
も選択肢のひとつにはすすめてみようとおもいます。
またまたいろんな情報ありがとうございます。(m_ _m)
私って、何も知らないで一つの環境だけつかってたんですね。(;_;)
なんか、あんまりいろんな情報知らされ過ぎてパニクってますけど。
H8/300系のほうは古い200MHzのマシンでどうにか・・顧客はコンパイラ買う
という必要性そのものが判らない人、789026(78K0S)は私からの情報が一寸
遅くて、「IARのも面白そうだけど、NECに発注しちゃったよ」、でした。
こんな状況なら、「全部ASM」で見積もって自分でコンパイラ買ってやってた
ほうがおいしくできそうですね。納品はコンパイラの吐くASMコード(´∀`)
ま、そこまで不誠実な仕事はしたことありませんけど。
ところでさ、HTermってgccでコンパイルしたやつでも
うまく使えるのかな?
やっぱ素直にgdb使った方がいいかな?
>>470 使えるんでないの?
gdbの方が悩まなくていいと思うけど。
472 :
デフォルトの名無しさん:03/03/31 13:17
AKI-SH2発売age
2.5Mのsrecファイルをフラッシュに焼くため転送中。
暇すぎる…。
これで動かなかったら…もう一回やり直しか。
禿同
漏れは mot->bin->hp と変換して hp64000abs 形式で転送するようにした。
転送時間半分でウマー
変換ツールにこり始めて一日それだけやってたのは上司に内緒だが。
475 :
デフォルトの名無しさん:03/04/01 11:07
組み込みネットが組み込めないネットになってるyp
476 :
デフォルトの名無しさん:03/04/01 17:07
AIBO(OPEN-R)の話もここでいいの?
>>476 ここで聞くのはいいと思うけど、答えられる人が居ない予感。
>>474 年に1~2回なので、あんまり改善意欲がわかないなー。
次は誰かにやってもらおう。
昨日は、結局失敗して何回か繰り返す羽目に…
テストでいらないところを切り離したら、
サイズが半分以下になったので、まあ我慢できるスピードになった。
ROMライタ、ニーキュッパぐらいで買えないかなあ。レンタ屋さんの中古販売
漁ってみたけど98Kとかじゃちょっと高い。
情報ありがとうございます。ただで借りられなかったら買うことにします。
>>479 ヤフオクを見張っていれば3万ぐらいで結構いいライタ
が手にはいるよ。対応容量が少なくていいなら1万ぐらいでいける。
折れは、安藤電気のAF-9705持ってるけど、ほとんど使わないな。
USB接続のライターを自作してしまったし。
>>483 それ(AF9705)は譲ってやってもいいぞということですか?
幾らぐらいなら?
485は483かな? yahooは見ましたけどたまたまギャングタイプ1件ぐらい
しか出ていませんでした。最悪481の教えてくれたニーキュッパッってのが
ありますので、それより安く譲って下さる方がいればラッキーと思います。
仕事は今降って来てますので、yahooでたまたま無くても今手に入るほうを
選びたいです。
シリアルchar8,stop1,PNの条件は同じで、1200と4800を自動識別し入力して
くれ、という要求に出会いました。あ、調布同期(ふが違うけど勘弁)です。
これって、「受信エラーのカウントがある敷居値に達したら」で見るしか
ないとおもいますが、この認識で合っていますか?
>>487 スタートビットのパルス幅計ればいいと思うが...。
>>487 それで許されるのなら、それでいいんじゃね?
488は思いつきませんでした。RXD端子のレベルを見るということですね。
8bitH8で12Mなんですけど、ポーリングではうまく計れそうにありません。
サーマルヘッドの熱パルス制御しながらなので割り込み禁止状態で数百μ
張り付くのもまずいし・・・その辺でなんかアイデアありませんか?
あれ?スタートビットの次はLSbitだから続けてLのこともあるじゃん。
ネタだったか(´∀`)4800状態の時に1200の信号が来ると、LxLのビットで
フレーミングエラー、LxHのビットでは8bit文字の正常受信になりますね。
こちらは受信エラーと不正文字の組み合わせで識別できます。
1200状態の時に4800の信号が来ると、サンプリングタイミングがちょうど
ビットの境目になるケースがあるので、その時には各bitが全く不定と
みなすべきと考えました。こちらのケースは検出が確率的になってしまう
ようでちょっとしゃくなのです。この点に関するアイデアキボンヌ
なんだかお仕事モードでタダでアイデアキボンとされてもゲンナリなりなんだけど
俺ならRxDを割込端子に割り付けて、タイマー割り込みで受信するな
>>490-491 すまん、正直真剣に考えなかった。
と言うか、極論すると...
1200bps で 0xf8 ⇔ 4800bps 0xff
1200bps で 0x80 ⇔ 4800bps 0xfe
の時の波形は、その後にデータがないと全く同じになるから絶対確実な切り分け方法は存在しないよ。
相手から、特定のデータを送ってもらうとかの条件付けが必要だと思う。
>>491 速度判定できるまで特定のデータを送ってもらえれば出来ます。
タレ流しを受けるのであれば、フレーミングエラーをチェックするとか、
正しいと思われるデータが受けられたかで判断するしか無いと思いますが。
だから、まあ、モデムのコマンドは、ATで始まるのだがな。
ここで複数人の意見を見て、私のアプローチでいけそうだと判りました。
ありがとうございます。
497 :
デフォルトの名無しさん:03/04/07 12:55
>>495 意味わかんないから、わかるように解説キボン
>>497 495ではないが、
たぶん、モデムの場合は ATxx<cr) で、かつ応答がOK<cr> とか必ずあるので、
最初の"AT"文字列で速度を測定しておいて、測定出来れば OK を出す方式が使える
つまり、可変速度に対応させるなら、
1、何かヘッダを決めておいて速度を測り易くすること
2、応答を用意して、応答しなければ再送させる事で測定に失敗しても再送させられるようにすること
というようなニュアンスの事を言いたいのではないかな
詳しい話は忘れたが、ATコマンドは、それだけで、
モデム-DTE間の通信速度、キャラクタ長、パリティ、などを
自動検出できるように'A'と'T'という文字を選んでいる、
とかなんとか、そんな話だったと思う。
モデムって、通信速度を変えても、ATって打ち込むだけで
ちゃんとコマンドを認識するでしょ。そんな話。
詳しい仕組みは忘れた。なんかの本か雑誌に載ってたんだよなあ……
'A'は0x41で 01000001 小文字は 0x61で 01100001
'T'は0x54で 01010100 小文字は 0x74で 01110100
あかん、思い出せん。。。
500 :
デフォルトの名無しさん:03/04/08 22:18
>>499 AT ってAT&T のATじゃなかったのか・・・
ついでに500get (このスレ的には12個先のほうが重要かも)
Linuxの組み込み型に対応したドライバ作れってよぉ。。。
資料も無しにソースだけで作れって鬼ですか?
こんな所にも業務系の嫌な影響か。。。
502 :
デフォルトの名無しさん:03/04/08 22:26
>>501 何のドライバ?
ソースの改造だけで結構いけない?
業務系の影響って関係ないじゃん。
気に食わなければすべて「業務系」にしてすます奴ですか?
残業おおけりゃ業務系。給料少なきゃ業務系。
504 :
デフォルトの名無しさん:03/04/08 23:07
>>501 ソースは最高のドキュメントだろ
それ以上の資料は無いぞ
バグ情報だって書いてあんだしさ
てのは冗談としても
口と耳ついてんだから電話しろ
>>501 Linuxの資料なんぞ探せば幾らでも転がってるだろ
そもそも「資料が怪しくてソースしか信用できん」ってのは
組込み開発ではよくある話じゃないか?
506 :
デフォルトの名無しさん:03/04/09 13:25
HEWについて教えて下さい。
メモリを増設したのに、メモリをアロケート出来ません。
アロケートするメモリ領域は、Data sectionでしょうか?
STACKとは違いますよね。
ura2ch
ura2ch
>>506 こういう人も制御系に駆り出されるのか・・・
もしかして今の社会は人材不足なのか?
509 :
デフォルトの名無しさん:03/04/09 16:35
HEWの質問続きですが、
未初期化Data sectionというのがあるのが分かりましたが、
コンパイラにどれだけ使ってよいか、どう教えたら良いのでしょう?
リンカー時ですか?それとも実行時?
510 :
デフォルトの名無しさん:03/04/09 16:56
HEWのベクターテーブルとか関係ありますか?
>__B_BGN .DATA.L (STARTOF B)
>__B_END .DATA.L (STARTOF B)+(SIZEOF B)
Bのサイズなんかどこでも教えてないのに、
SIZEOF Bと平気で書かれてるし、何で???
>>506 >>509-510 聞く相手が違う、チップメーカのプロセッサ限定開発環境の設定方法なぞ知るか!
マニュアルを読んで分からんことは日立のサポートに聞け
>>506 マニュアルでsbrk調べれ。
時間取って全部読んで見るのが一番いいんだが。
>>508 窓のプログラムしか書いたことないんでしょうね。
時期的に新人研修かな?
513 :
デフォルトの名無しさん:03/04/09 17:58
>>512 sbrkハッケソ
やっぱ、ヒープ領域あったんだ。
でもヒープ領域が名無しさんだから、リンカー設定出来ないんでわ?
514 :
デフォルトの名無しさん:03/04/09 18:06
で、sbrkの仕様が、「を返してください。」って他人事のようになってるけど、
これは、sbrkを自分で実装しろ、という意味でしか?
515 :
デフォルトの名無しさん:03/04/09 18:20
実は、取れるメモリ調査をしてたんだけど、
newとreallocで場所違うんだ。
そんなの意識してライブラリ作るのメンドー
516 :
デフォルトの名無しさん:03/04/09 18:39
sbrkは実装するものか、どうなのか、知ってる人は居ないでしか?
517 :
デフォルトの名無しさん:03/04/09 18:49
>>506 はじめのウィザードからならお前でも指定できるだろ?
で、作ったあたらしいプロジェクトにコピペすれば
いいじゃん
518 :
デフォルトの名無しさん:03/04/09 18:51
>>517 なるほど、ウィザードがメモリを設定してくれるんですか。ヤテミマツ
519 :
デフォルトの名無しさん:03/04/09 18:59
なんとなく分かったけど、
sbrkでスタティック変数領域を確保しちゃうんだ。
アッテル?
予想がアッテル場合、
これまた、newのグローバルオブジェクト領域でもなく、
allocのヒープ領域でもなく、
初期化データ領域になるわけ?
一人ごとか?せめて番号コテを続けてくれ
じゃ、コテハン。
sbrk.hで、
#define HEAPSIZE 131072L
とかするると、プログラム動かなくナタヨ。
2MByteメモリ増設してるのに...
マニュアルには、ヒープ領域はsbrkの初期値で決まる、と書いてあるけど、
>static union {
>long dummy ;
>char heap[HEAPSIZE];
>}heap_area ;
こんなコードじゃ、
初期化データ領域か無初期化データ領域を無駄に取ってるとしか、
思えないんだが...イミフメ
>ヒープ領域はsbrkの初期値で決まる
sbrkでヒープ領域サイズを設定出来るようにも見えるし、
>char heap[HEAPSIZE];
これを巨大なスタティック変数にして、使いまわしするようにも読めるし。
どーすれば良いの?
あと、sbrk関数は自分でコールするんでつか?
勝手にコールされる?ワケナイカ
526 :
デフォルトの名無しさん:03/04/09 19:25
あ、なんかワカタ。
sbrkがmallocからコールバックされるんだ。
>522,523
sbrkの引数ってintじゃないか?
HEWってH8かSHか知らんが、もしH8ならたぶんintは16bit長で
32KByteまでしか扱えないってオチだと思う。
あと領域を無駄に取ってると思ったら、HEAPSIZEの値を書換えて
必要量に調節すればよろし
thanx!
>>528 SH2で、引数はunsigned long sizeになってまつ。
32KByteどころか、
#define HEAPSIZE 131072L
で、動作おかしくなります。
で、2MByte増設前後でこれは変わりません。
>#define HEAPSIZE 0x1000
を
>#define HEAPSIZE 16384L
と大きくしたら、
mallocで全くアロケート出来なくナチャタ。
ハァ?って感じ。
>static union {
>long dummy ;
>char heap[HEAPSIZE];
>}heap_area ;
この領域は、未初期化data sectin(B)であってまつか?
特にセクション設定してなければ多分そう。
少なくともH8の古い日立コンパイラはそうだった...
MAPファイル出力して確認しる!
MAPファイル確認します。
ところで、
extern int *_B_END;
で、値を見たところ、DRAMを倍のものに差し替えたのに、拡張されてません。
_B_ENDの値を書き換えても大丈夫でしか?
スタックポインタも末尾に移動したんだけどな...
おかしい...
SIZEOF Bは、あなたが使った分,つまりヒープを含め
static変数のすべての使用量をリンカが計算する。
搭載されているメモリ量を判定するOSが載ってるわけじゃないんだから、
コンパイラやリンカは勝手に拡張してくれないよ。
使用量が実際のメモリを超えているかはMAPファイル見てご自分で判断して。
ぶっちゃげ、リンカに設定したメモリ割り当てと実際にターゲットにある
メモリの関係を把握してないでしょ。
MAPファイルとターゲットのメモリマップを照らし合わせれば、
理解できてくるんじゃない?
>535
自己レス
間違えた、
static変数のすべて=>static変数のうち未初期化のもの全て
つーか、配列数に L がついてるにゃぁ・・・
SIZEOF Bは、あなたが使った分,つまりヒープを含め
static変数のすべての使用量をリンカが計算する。
搭載されているメモリ量を判定するOSが載ってるわけじゃないんだから、
コンパイラやリンカは勝手に拡張してくれないよ。
使用量が実際のメモリを超えているかはMAPファイル見てご自分で判断して。
ぶっちゃげ、リンカに設定したメモリ割り当てと実際にターゲットにある
メモリの関係を把握してないでしょ。
MAPファイルとターゲットのメモリマップを照らし合わせれば、
理解できてくるんじゃない?
うわー2重カキコ、すまん。
SIZEOF Bの値はHEWのプロジェクトで設定した各セクションのアドレス
設定によって決まる。RAM領域を広げたのなら、「自分で」その設定値を
書き換えないといけない。
これは動作環境に依存するので、君が考えて設定するしかない。
以上。
>RAM領域を広げたのなら、「自分で」その設定値を書き換えないといけない。
うわ、まさに知りたい内容。
でも、SIZEOF Bの値を変える方法が無いYO!
各セクションのアドレス設定は、リンカオプションにあるけど、
先頭アドレスだけで、サイズを設定デキナイ!
>>541 ある程度理解出来てるなら、それ以上すぐに判らない事はメーカに聞けよ。
イエローソフトみたいに、あきらかにサポート代コミじゃないだろな値段じゃないんだろ?
RAM領域の先頭と終端のアドレスが分かってるのに、
それを設定デキナイなんて不可解。
みんなどうやってるわけ???
>>542 メールで聞いてたんだけど、何か、会社が分離したとかで、webサイトから変わちゃってワケワカ。
でも、調べて問い合わせてみるYO!
>それを設定デキナイなんて不可解。
ちょっと、下記間違い。先頭アドレスは設定出来るけど、サイズや終端アドレスを設定デキナイ。
>>544 ルネサスか。コンパイラ買った時の代理店を通して見れば?
終端の設定は出来なかったような。
で、なんで終端設定したいの?
>541
>でも、SIZEOF Bの値を変える方法が無いYO!
538とかをよく読め
俺・・・そんなのマニュアル読んですぐ判らないなら malloc自作しちゃうけどな
みんなもそうだろ?
>>547 おいおい
あんたのその発言は拙いだろ
malloc作れませんって言ってるようなもんだぜ
>>548 そうか?
単純にリンクリストで管理するだけだから、誰が作っても大同小異だろ?
既製のmallocの部分逆アセして調べるには
アセンブラレベルまでCPUの事調べにゃならんから
それよりは簡単だと思うんだがな
しかし、メーカもんのライブラリはソース付いてないのかな?
普通付いてるもんだけどな
なんか、RAMの終端の設定しなくて良いそうですね。
終端を越えると、オーバーライトというか、そのままハードウェアに対して書きに逝っちゃうだけ、みたいな。
が、そうならないから困ってるんだけど。
サポートにメールでソースをオクテミマツ。
そうならないってどうなるんだ?
>>551 >#define HEAPSIZE 0x1000
を
>#define HEAPSIZE 8000L
にすると、取れるメモリが8000バイトに増えます。
が、
>#define HEAPSIZE 16384L
とすると、全然メモリを取れなくなりまつ。
2Mバイト増設前は、RAMは何バイトあるの?
>>553 BとSTACKのために、1Mバイトありました。
それを2Mバイトのものに差し替えてます。
RAMは何番地からで、
BとSTACKは何番地から何バイト分とられているの?
>>531 のheap_areaという変数は何番地に割り当てられているの?
staticをつけているとMAPファイルに出てこないことがある。
SH2やHEWは使ったことないんで、あてずっぽうだけど。
日本語が不自由なしとをサポートしなきゃならんメーカーの中の人も大変だな。
晒し age ようかとおもたけどやっぱり sage
へう、ってヒタチ・エンベデッド・ワークベンチのこと? だよね?
挟まってくれてもハムとレタスの間のチーズみたい。おいしくない。
俺は結局makefile作ってDOS窓でmake動かしてるよ。軽くて(・∀・)イイ!
>>556 いやあこういう典型的なのは、女の子が対応出来るから逆に楽じゃない?
>>541 そこまでわかっていて、なぜBセクションの後ろにダミーのBセクション
を作ろうと思わないんだ?
メモリのbottomに当たるアドレスにB_bottomみたいなセクションを切って
みればいい。Warningは出るが、リンクには支障ない。
リンクエラーでなくて、実行時のmallocのエラーでつ。
ちょっと別の作業というか、オシロとかのデータ取りしてました。
なぜ藻前の仕事をワシラが肩代わりしなきゃならんのか問い詰めたい。
小一時間問い詰めたい。藻前は給料泥棒か?
ネタにしてはいまいちつまらん。
ネタに混じれ酢カコワルイを承知で HEW のマニュアル読んだが、
sbrk() は「末端プログラマが作る」もんだ。
sbrk() がどこからメモリを確保するかは末端プログラマが勝手に決めてヨシ。
藻前のとこでは section B から取ってるんだろ?
漏れならそういう実装は *絶対* しないがな w
>>560 mallocが失敗するっていってんだから、リンクエラーしてないことは端から承知。
mallocが成功したときに戻されるアドレスがBの領域にあるのか、
更にはheap_areaの領域にあるのかを確認して、
自分の考えが間違っていないか、確かめていかないと。
そのためにMAPファイルを読めって散々いわれているのに、
「読んでみました」「こうなっていました」って書き込みがない。
あとmallocが本当に必要なの?って話もあるんだが…
>>563 MAPファイルが作れない? リンカのオプションに無いか?
ホントに無いなら、デバッカ用のファイルを解析して作れ
ないわけない
>>561 別にキミは肩代わりしなくてもいい。
オレが代わりにやるよ
もうさー
全ソースをコンパイル・オプションでアセンブラ出力して
リンクする時に問題のソースの前後にBセクションに
ダミー名を入れたアセンブラ・ソース噛まして
MAPファイルの番地で見たらー
>>563 ハァ? 出るだろうが、ボケ。折れの環境ではちゃんとmapを吐くぞ。
ちゃんとマニュアル嫁!
map吐き出すこともできないんだから、sbrk()をいじることなんか
無理だろ・・・。もう諦めろ。
>>541 つうかHEWならメニューから各セクションのアドレス変更出来るだろ。
多分、今まではチップ内蔵RAMだけで動かしてて外部RAMを拡張したんだろ。
で、RAM領域のセクションのアドレス変えてないから
内部RAMのままで動いてると。
マニュアルぐらい読めよ。
570 :
デフォルトの名無しさん:03/04/12 02:17
この速さなら訊ける!
H8のとてもとても少メモリなgdbスタブってありますか?
>>570 日立モニタは?
そんなにコマンド使ってないから、カスタマイズすれば結構いけそう。
そもそもH8用のgdb-stubっていくつあるの?
300H用とH8S用が一個づつあるのは知ってるけど、他にある?
>藻前のとこでは section B から取ってるんだろ?
>漏れならそういう実装は *絶対* しないがな w
sbrk.c用にsection切ったらmallocがアドレス返してくれるようになりました。
まだ、realloc2回行うとフリーズ。でも、参考になりますた。
>で、RAM領域のセクションのアドレス変えてないから内部RAMのままで動いてると。
アドバイス有難うございます。
reallocのアドレスを確認したら一応外部DRAMでふ。
>一応外部DRAMでふ。
外部SRAMの間違いでした。
574 :
デフォルトの名無しさん:03/04/12 16:11
576 :
デフォルトの名無しさん:03/04/15 20:40
そろそろ1チップマイコンで
内蔵SRAM64K FrashROM 256K で ピンサイズは 28pinSDIP と18pinDIPとか出してくれないかな
出来れば@500円くらいで
ついでに妄想するとペリフェラルは単なるI/Oのみでいいから、代わりに
時分割でCPU切替が8タスクくらい出来ればありがたい。
それさえ出来れば、SIOもタイマーも命令数数えて実現するから
577 :
デフォルトの名無しさん:03/04/15 20:52
>>576 そんなのあっても周辺回路がものすごく設計しずらいから
普及しないと思われ
578 :
デフォルトの名無しさん:03/04/15 21:05
>>577 じゃあ 同じ命令セットのダイジェスト版で
同じPIN数で SRAM2K FROM 8Kのを @150円で用意してもらえばどう?
どっちにしても最近DIPのTTLでさえ手に入らなくなったんだから、
マイコンだけで周辺回路組んだ方が逆に楽かもしれない。
特定のFROMに書き込むと、
電源リセットとクロックジェネレータ内蔵になって、発振子つけなくてもフルに
全端子が使えると嬉しいな。
さらに妄想すると出力端子の設定が、オン抵抗の低い通常出力と、オン抵抗の高い
プルアップ・プルダウンに使えるような弱い出力が選べるともっと応用範囲が広がる。
H/Lの抵抗値をほぼ同じにしてくれば、端子にコンデンサ+抵抗1本つけるだけで
ADCをソフトで実現出来るとか、
579 :
デフォルトの名無しさん:03/04/15 21:11
今からプロジェクトX でTRONだぞ、と。
>>578 H8でいいじゃん。Tinyならだいぶ安いよ
581 :
デフォルトの名無しさん:03/04/15 21:24
>>580 そんなに廉くないし、ペリフェラルが使い難い
ペリフェラルはいらないから、
計算用レジスタとFlag,SP,PCを 8セット用意して、時分割でハード的に切り替える。
8つのタスクのうちメインタスクには、他のタスクがSleepしてる間のサイクルも割当てられる。
端子1個にタスク番号一つ割当てて、指定したタスクのSleepを解除する事が出来る。
これで、調歩同期シリアルとかカウンタとかPWMDACとか全部ソフトで出来るでしょ?
なんでその時分割CPUにこだわるの?
ICEで検証するのも大変だし、タスクのスケジューリングが
固定的になるからかえって不便
周辺回路が自作したいならH8のコアにFPGAつけたほうがよくない?
ってSH3でそんなの出すとか聞いたけどどうなったんだろ
(゚∀゚)けっきゅくみんな自分のほしいものを挙げるばかりだなおい。
「○○は外付けでいいでしょ」ってか。みんな外付けにしちまえ!!
ていうかもういいです。PICで十分です。疲れました。
もまえらプロジェクツX見てますか?
586 :
デフォルトの名無しさん:03/04/15 21:51
まず、そんな値段のチップにICEなんて使わない。
だって、PICに使わないでしょ?
そりゃ、FPGAがコスト的に成立するならいいけど、やっぱり成立しないだろうし
あと、タスクとは名付けたけど、RTOS的なタスクとは違うから、
RTOS的なタスクが必要なら、それはソフト的に実現すればいいでしょう。
>585
もちろん。
>>586 お前アフォだろ ?
> 計算用レジスタとFlag,SP,PCを 8セット用意して、時分割でハード的に切り替える。
が、コスト的に見合うとでも思ってんの ?
素直に、FPGA 使っとけ。
>>588 FPGAと比較したら、Acc,IX,Flag,SP,PC を8個分なんて
単にメモリを増やすのと変らないでしょ。
ハード的に切り替えるとなるとセレクタ配線が大変な事になるけど、
実際のA/Ix/Flagは1個のレジスタで行って、切替はヒドンサイクルで行えばいい
メーカーはそれが大量に売れて儲かるなら作るだろうけどな
>>590 アマチュアと小ロットメーカには<大量>(中小企業感覚)に売れると思うけどな
それじゃICメーカとしては小さい市場なんだろな
チョッとしたことにはPICでいいんだけど、やっぱりメモリ<大量>(組込屋感覚)
だと、シリアルEE-ROMとか繋ぐ必要が出るし、プリンタに印刷しようとしたら
フォントROMも入らないないし
ROM/RAM大量(組込屋感覚)で小ピンでピン配置に自由度が高いのがホントに欲しいんだけどなあ
>>581 >8つのタスクのうちメインタスクには、他のタスクがSleepしてる間のサイクルも割当てられる
ってのが無くて、完全にサイクルするならコストは低いけど、特定のタスクだけ優先ってのは
逆に難しいかもね。
そういう用途なら、クロック16M程度で、1タスク2M-MIPSあれば十分じゃないの?
要望を纏めると
1、28P-SDIP と 18P-DIP の2パッケージ
2、RAM2K ROM 8K / RAM64K ROM 256K の2品種
3、ROMはFlashROM
4、どこかに書込みむと内蔵OSC/電源リセットになって電源ピン以外、全ピンI/Oとして使えるようになる
5、ポートは通常出力のほかに、プルアップ・プルダウンとして使える程度の抵抗出力が可能な事
6、ペリフェラルは廃止し、代わりにCPUリソースをサイクスチール切替して、ソフトでペリフェラルを
実現出来るようにする
7、ソフトペリフェラルの実現の為に、ポートの状態変化で指定したタスクのスリープ解除(一種の割り込みか?)機能
抵抗とコンデンサ1本でADCを実現するって、実際どうやるの?
AVRで内蔵コンパレータを使ってA/Dを構成する技があるけど、
(ATMELのアプリケーションノートにもある)それとは違うの?
外部にコンパレータつけてラダー抵抗D/A使えば同じことになるが・・
>>593 ADCの実現方法は、
ADCの無いマイコンでポートを2つ使って実現する方法と同じです。
CPUin-------+
CPUout-抵抗-+--抵抗---信号源
C
|
gnd
と配線します。CPU 側の抵抗とこの抵抗を同じとします。
CPUは固定長命令サイクルのループを繰り返し
状態を読みながらプルアップ・プルダウンになるよう抵抗出力をH/Lします。
ポート値がHならプルダウン ポート値がLならプルアップするわけです。
そうすると、このH/L時間比と信号源電圧が比例するという仕掛けです。
ΔΣ方式のADCと同じですね。
測定精度はCPUの入力スレッショルドがどれだけ安定しているかによるのですが
繰り返し精度は問題ない=校正すれば使えます。
サンプリングレートは(ループ時間*2^要求bit数) に逆比例します
>>578で書いたように、CPU内部に抵抗を内蔵して貰えたら、
これと同じ方法でポート1本にC+RでADCが実現出来るという訳です。
>>576 MAXIM(旧DALLAS)の1ライン通信専用ポートくらい付けとくとか
MAXIMがやると5051コアなんだろうな。
>>596 フーム。 そういう事やるなら時分割CPU欲しくなるだろうね。
それだけなら可能だけど、ついでに調歩同期シリアルもソフト実装なんて言われたらなあ
>>596 それと同じT型回路構成で
CPU-----R1-+--R2---信号源
C
|
gnd
これ、単なるノイズガードだと思ってたら
この構成でソフトウエアでチャタリングノイズ取りのシュミットトリガと
信号レベルを 読み込む直前に短いパルスを出して調整するんだそうだ。
(^^)
ジョイスティックのアナログ入力も、それじゃなかったっけか?
>>601 ジョイステックのは似てるけど原理が違う。 抵抗値を読む方式で
CPU----R1--+--VR--- +5V
C
|
gnd
として、CPUからL 出力を出して その後ハイインピータンスにすると C と VRの抵抗値で決まる時定数
の後 H になるので、この時間を計測する方法だ。
少しVRが古くなってガリが出ると、もうダメというあんまり良くない方法だ。
入力装置のように頻繁に使うところには、本来接触抵抗の影響をあまり受けないようにすべきだったと思う。
まあもう絶滅だからどうでもいいか
603 :
デフォルトの名無しさん:03/04/17 17:18
ただ、オープンコレクタポートをジョイステックの個数だけ、という条件だと
これしか方法が無かったのも事実なんだよね。
604 :
bloom:03/04/17 17:20
>>598 なんでこいつ時分割 CPU にこだわってんの ?
どうしてもソフトでやりたいなら、ちっちゃい MPU 8個集積した方がいいと思うけど。
606 :
デフォルトの名無しさん:03/04/18 07:58
>>605 もちろん、単なる夢想なんですが、
どうして欲しいかというと廉いのが欲しいからです。
FPGAタイプが理想だけど、それはチップ面積を食うでしょう。
豊富なペリフェラルもチップ面積を食うでしょう。
時分割CPUなら一般的なペリフェラルならソフトでカバー出来ます。
少し前まではI/Oが欲しければ TTL/CMOSで増やしていましたが、
今では、ヘタすると入手に困る時代です。 中小では1ロット10なんてのをやらなければならないのに
その基板で使った、たった1個の部品を探してアチコチなんです
それで、廉くてTTL的に使えて、かつ1品種だけで揃えられるのが欲しいのです。
う~んそれは私も解るけど私の場合はハード開発者が決めちゃうな。\190とか
もっと安いのでないとあかんの?8タスク走らせるぐらいのCPUなら数百円
程度のお値段かとおもいますが。
∧_∧
( ^^ )< ぬるぽ(^^)
609 :
デフォルトの名無しさん:03/04/21 00:25
このスレ見てる人って、他はどんな板やスレみてるの?
ちときになった。よければ教えて
>>609 転職板、マ板、裏事情板、30代以上板、SF板、ラノベ板
>>609 ライトノベル、SF、デジカメ、マ板、転職
に、似てる。w
612 :
デフォルトの名無しさん:03/04/21 20:40
就職板 軍事板 純情恋愛板
マ板、ニュー速、機械・工学、パチンコ、パチスロ、インディーズ
614 :
デフォルトの名無しさん:03/04/25 00:01
制御系と言っても幅広いと思うけど、
4bit/8bitクラスのをアセンブラでプログラミングしてる人と、
16bit以上で、RTOSを載せたりしてる人とでは、
全然別次元の話しになるのですか?
ちなみに、アセンブラを使うのは、やっぱり8bitくらいまでですよね?
615 :
デフォルトの名無しさん:03/04/25 00:06
801
616 :
デフォルトの名無しさん:03/04/25 01:17
葉鍵、エロゲ、エロゲネタ、半角二次元、フェチ、801、エロ漫画、エロ同人
>>614 >ちなみに、アセンブラを使うのは、やっぱり8bitくらいまでですよね?
んなこたーない。
スタートアップルーチンやら割り込み処理やらタスクコンテキストスイッチやら
アセンブラを使う場面は結構ある。
異なるbitrate自動認識の相談した者です。4800-->1200は受信エラーn回で
識別できました。1200-->4800は受信エラーは起きないで文字によりFE,FFの
どちらかが正常受信になりました(これが予想と違った)ので、FE,FFだけ
を受信エラー扱いすることでn文字程度で識別できるようになりました。
石はH8の8bitで、割り込み処理中でbitrateエラーを識別したらSMR0^=1とやると
ちょうどそのとき次のstartbitをサンプリングし始める所なので正常受信復帰が
1文字早くなりました。
>>614 #pragma memory=constseg(RESET)
long reset = 0x7907FF00; /* SPに内蔵RAMの末尾FF00を代入する機械語。*/
#pragma memory=constseg(VECTOR)
void (*const vector[])(void) = {/* 割り込みベクタ部*/
(void*)&reset,/* 0000 reset vector*/
・・・私はASM平気だけど苦手な人のためにベクタ部はこんな風に書いてます。
0x何チャラは反則っぽいけど、startupルーチンで本当に必要なのはSP初期化ぐらい
ですね。割り込み処理は#pragma function=interruptの後に書くと割り込み
処理コードが出来ます。(reg待避・復帰、RTEで終了するコードが出る)
SDRAM使ったシステムだと、SDRAMに初期化コマンドを送らないと
RAMとして使えないぞ(リフレッシュやアクセス方法などのハードも設定
しないといけないけど)
だからCPU内蔵RAMがない場合は、アセンブラで書いた方が素直でいい。
>>618 HPつくってまとめておくと世界中の人が幸せになれるぞ
622 :
デフォルトの名無しさん:03/04/27 18:56
>>614 >4bit/8bitクラスのをアセンブラでプログラミングしてる人
このクラスをCでコーディングするのは難しいだろうな。
なんか職人の匂いがする。
627 :
デフォルトの名無しさん:03/04/28 00:30
>>626 最近はCで書くのが増えてきてるんじゃないの?<DSP
それでも、やっぱりアセンブラ??
就職相談はイカンって上の方でかいてあるけど、ここのスレの経験豊富な人に相談したいから、書かせてください。
自分は業務系開発やって5年目になりますが、前々から制御系に興味があり、転職を考えています。
しかし、自分は文科系卒でパソコンすら組み立てたことないし、ハードに関する知識は今ひとつです。
そんなヤツでも、やっていけるもんなのでしょうか?
今までは業務系アプリケーション開発で、プログラミングと設計をやってました。
汎用機もやってましたが、C、C++(VC)、Javaはできます。
このままインチキSEになるのが嫌で、ここらでエンジニアとして自分の興味のある分野でしっかり力をつけたいと思ってます。
DSPはやったことないが、
8bit(Z80,AVR)なら常用してる。
そんな俺のやり方は、
とりあえずCで全部組んでみる。
テストしつつ、パホーマンス的にマズーなところをメモしておく。
仕上げとして、部分的に(上記のメモを参考に)アセンブラで書き直してみる。
てな、具合でつ。
>>627 TIのC5xとかなら、C言語でほとんど行ける。
パフォーマンスの必要な所のみアセンブラ。
俺の使ってるのはC6xだけど、これはよほどの事が無いとアセンブラは使わない。
割り込みもレジスタ制御も全部Cで書けるし。
>>628 無理。
DSPもいまならCで結構いけるね。
ADのDSP(SHARK)使ってるけど、これも大丈夫。
やっぱり低機能なものになると、アセンブラになるのかも
知れないけど。
8ビットCPUでCでの開発はそう珍しくはないかと。Z80時代では
コンパイラも結構あったね。
4bitマイコンだと、さすがにないような・・・・
>>630 無理って...
いや、言いたいことはわかるが。
>>628 とりあえず秋月のキットなどで遊んでみなされ。
それができないようなら、この言葉を贈ろう。
無理。
>>628 分野によると思う。GUIなどの表層だけの担当ならなんとかなると
思うけど、ハードをいじるレベルだと、数学や電子回路に関する理解なども
それなりに必要になる。
たとえば、業務系だと何かがおかしい場合にはまずソフトだけ疑えばよいけど、
制御系ではハードも疑う必要がある。そして、ハード屋にこれがまずいので
はないか、と証拠と共に指摘できる必要がある(オシロやロジアナを使って
信号観測し、規定通りに信号が出ているかなど・・・・)
それをするために、ハードの素養はそれなりに必要。
取りあえず、632でもあるように秋月のキットなどで勉強するのもよいかと。
>>631 そだね。
CP/M時代でもコンパイラは色々あったしね。
でも、おいらの現場ではZ80で”Cで組みますた”
なんていうと、けっこう驚かれたりします。
SH2でTRONで逝きましょうって提案すると速攻却下されたりします。
アセンブラ至上主義ってあるのかなぁ?
>>628ですが、みささんレスありがとうございます。
自分のことを、もう少し書いてみようと思います。
理数全般に関してですが、自分は国立大の文系出身で、中学高校と受験数学はかなり勉強しました。
だからやることに抵抗はないけど、得意ではないです。
でも圧倒的に、英語・日本語・歴史・地理などの方が得意で、大学では法科でした。
仕事は、汎用機でCOBOLをやったのち、Windowsのembeddedマシンの開発を担当し、そこでVC++をマスターしました。
それで制御系に対する関心が高まり、現在にいたるのですが、CEとは言え所詮はWindows OSの上に載っているので、これはあまり業務用のアプリと変わりはありません。
パソコンの自作や、x86CPUの勉強あたりから始めようかと思っているところなのですが・・・
>>635 いや、なんかずれてる。
過去の学歴。イラネ
PC自作、x86の勉強。イラネ
抵抗、コンデンサ、74xxなどなど。
制御(組み込み)系で必要とされる知識は、
もろに、ハードウェアだったりします。
ハードとソフト、まさに蝙蝠状態。
制御系で有利な資格って何だ?
>>636 あと、メカ系な。
今時、ステッピングを脱腸させると、結構ウケるぞ。
まぁ制御で大事なのは、制御対象の知識と、制御理論ってこった。
640 :
デフォルトの名無しさん:03/04/28 02:49
>>635 とりあえず、月刊誌の「Interface」と「トランジスタ技術」を購読。
「トランジスタ技術」は広告まで全部目を通すこと。
駄レス失礼します。
前スレ835のクソPGです。その節はお世話になりました。
皆さんのアドバイスに従いH8とついでにZ80ボードで勉強中です。
あれから3ヶ月、ようやくコードの読み書きと周辺機器の接続が
出来るようになってきました。あのときアドバイスしてくれた皆さん、
本当にありがとうございました。
# いや、ただそれだけなんですが、とにかく
# ここの住人の方々にお礼が言いたくて…
x86の勉強は無駄じゃないだろ。
中古PC(ペン無印、EDO-DRAM32M、HDD4G、Trio64あたり)を抱えちまってるとこから
似非KIOSK端末作れと頼まれたりしてな
645 :
デフォルトの名無しさん:03/04/28 07:39
>>635 カテゴリー的には、組込>制御なんだろうけど、たまに混乱してるのがあって、
アクチュエータを駆動するようなハードウェア寄りのから、
携帯電話みたいに、どちらかというと組込という言葉の方が似合うのまで、
結構幅が広いよね。
とりあえずは、OSのない世界、クロス環境の世界というところを勉強してみては?
646 :
デフォルトの名無しさん:03/04/28 07:59
>>635 そう難しく考えなくても良いと思うよ。 プログラムをスクラッチから
書くって事はそうないんで、既存の物の変更がほとんど。プログラムの
変更しながら、仕事を覚えるって感じでいけますよ。
実際に、ACモータ使ったメカの制御したけど、制御はACモータの
制御パックがやってくれてたから、制御理論なんか全く関係なーし。
制御対象の知識なんかもさして必要ではなかった。
ある程度分業が進んでいる職場が多いから、ハードは知っていないと
プログラムができないってことはない。実際に自分のいたところでは
プログラマーでハードまで分かっているのは、多くなかった。
経歴みると努力家のようだから、とりあえず就職活動してもいいんじゃ
ないの。パソコンの自作じゃ技術は身に付かないし、x86のCPUは制御系じゃ
使わない。そもそも自宅でする勉強は経歴書には書きにくい。
下手に準備するよりトライする方が賢いと思うよ。努力は転職後でOKですよ。
うーん。
制御系・組込系は
好きで、情熱あって、自分から自然に入ってしまうならだけど、
非常に厳しい競争やってる所もあって、そんなふうにトライすりゃいいじゃないって感じでは勧められないんだけどなあ・・・・
>>646のように、制御理論なんて全く関係なしでやってける職場はもはや特殊だと思ってたんだけど・・・
違うのかな? 自分所が厳しすぎ?
うちは、スクラッチから書くどころか、DSPとかなら、アセンブラから自作して、
1チップマイコンでも、ツールつくりからスクラッチだし
メーカもんの高いツール使ってられる程、1品種で仕事ないし・・・・
649 :
デフォルトの名無しさん:03/04/28 08:45
646で書いた者です。
>>647 自分は元々電気のエンジニアだったけど、電気のエンジニアだって制御理論を
知っているのは少ない。それが必須条件であれば、制御のプログラマは
ほとんどいなくなってしまう。
ツール作りから始めるような非効率的なことをするところは少ないのでは、
下請けの場合でも発注元から開発システムを借りたり、レンタルの費用が
出るのが普通ではないか。ツールから作った方が、普通は高くつくでしょう。
アセンブラで開発するところは多くないでしょう。自分は派遣もやっていたので、
ソフトの仕事ばかりではないが8社くらいで仕事をした。アセンブラの仕事も
あったが、それは特殊な職場だった。
準備はいくらしたって十分じゃない。少なくとも自分の見てきた職場で
プログラマに高い知識を要求するようなところはなかった。ある程度の
プログラミング能力があってやる気があれば対応できるところが
ほとんどだと思う。
しかし、最後は自分の判断。でも転職するかどうかは別として就職活動を
してみると、考えるだけでは見えてこないことも見えてくるので、
やってみる価値はあると思う。
ツール作りからするのは、
自分の所ではメーカ製の高いツールを使う為に調べるコストも、
ツールを作るコストも同じ程度になってるから。
実際、CPU/DSPのマニュアル読んでる間(頭の切替期間)にツール作ってしまうから。
・・・・自分としては、時間も無駄にならないしね。
もう一つ、やっぱり自作ツールの方が色々と融通が利いて、デバッグ時間もそうとう短縮出来る。
DSPの場合、アセンブラひとつとっても、メーカ製のはラベルに整数しか使えなかったりするからね。
フォルタの係数をイチイチExcelで計算して代入なんてバカな事しなくちゃいけないし
まあ、アセンブラで開発しないという事だから規模が違うんでしょうね。
Cだけで書ける規模なら、また別の世界なのかな。
うちは慣れた4ビットマイコンなら1日、16bitマイコンならCで1週間なんてのが多いから
652 :
デフォルトの名無しさん:03/04/28 09:34
>>650 あなたのところは、特殊な職場に分類していいんじゃないんですか。
DSPを使うところ自体、多いとは思えないんですが、DSPの開発ではICEを
使わないんでしょうか。アセンブラくらいだったら自作できるでしょうが、
デバッガとかICEはどうしているんでしょう。
メーカーオリジナルのDSPを使ったことがあります。チップに組み込みのものでしたが、
超リッチな会社だったので、それ用のJTAG ICEがありました。今思うとICEなしじゃ
やってられないと思いました、制御用途じゃなかったですけどね。もちろんラベルには
普通に英数字は使えましたよ。
>>651 ものすごい短納期ですね。そんな短納期の仕事をしているのはかなり特殊でしょう。
仕様を検討しているだけでも1週間くらいは、過ぎちゃいますよ。
アセンブラを使ってるのは、自分の仕事をしたところをしたところは1社だけで、
制御じゃなくて遊戯関係でした。
そうか、自分の職場を標準に考えちゃいけないな。
DSPの開発ではICEを使うかどうかですが、TIのなら使います。
これを使う規模はそうとう大きなものになるのでデバッグの規模も大きくなるからです。
それ以外のだといわゆる脳内デバッグですね。
それと短納期の件ですが、4ビットのマイコンは製造とあわせて国際価格です。
相手が普通にやって10日かかるならこっちは1日でやらないと製造共々海外に流れます。
1日で作れるのは経験もあるけど、やっぱり色々とツール自作が効いてるのでしょう。
これも、ICEなんて使いません。ソフトシュミレータも作ってるけど、
これは慣れてるので、ワンタイムを書き潰して脳内デバッグが速いですね。
>>628=
>>635です、みなさん、レスありがとうございます。
実際にその業務に携わっている人の意見はたいへん参考になりますね。
雑誌に関しては、日経ネットワークと業務系にありがちな日経ソフトウェアを毎月読んでます。
Inrerfaceは前々から気になっていて、今月号の特集が、組みこみ分野におけるオブジェクト指向開発の記事だったので、それを期に買いました。
読んでみると、サンプルコードはCやJavaで書かれていて読めるものだし、オブジェクト指向の特集はクラス図やシーケンス図などUMLを使った自分にとっては馴染みのあるものでした。
今あげた手法に関しては、言語にしても概念にしても自分がやってきたことだし、それならば経験はなくとも制御系の分野に入ってゆく余地はあるのでは、と思った次第です。
まあ、オブジェクト指向に関してはいまだあまり浸透していない概念ですけどね、制御系では業務系以上に。
それと現在の自分に関してですが、業務系開発なんですがサーバサイドのJavaの仕事をしています。
Javaの文法や概念は、C++をやってたのですぐに分かったのですが、組み込み制御系ではどのように用いられているのか、携帯電話くらいしかイメージ沸きません。
また、サーバサイドのようなリソースが無尽蔵にある環境とは、勝手が異なるとは思いますが、どんな感じの開発なのでしょう?(抽象的な質問でスイマセン・・)
>>655 浸透してないわけじゃないよ。 OOPを使わなきゃOOが浸透してないと思ってるようじゃ・・・
>>655 実際にDVD/HDDレコーダのように中身パソコンに近いものもありますし、
また、ユビキタスへの過剰な製造側の期待のせいもあって、
パソコン的な組み込み市場が構成されかけたこともありました。
しかし、DVD/HDDレコーダも低コスト要求が強く、どんどんと組込的になりつつありますし
ユビキタスも 製造側とお客様の夢想してる事とのギャップはまだまだ大きく市場が立ち上がらない状態ですね。
>>657 そういうイミではないです、誤解を招いてしまったらスイマセン。
実際のところ業務系でもOOP、OOPと声高に叫ばれて久しいのですが、現場ではそこまで浸透していないのは事実で、制御系では業務系よりさらに少しだけ浸透具合が甘い、という印象を受けただけなのです。
660 :
デフォルトの名無しさん:03/04/28 11:20
>>659 自分の関係した仕事の範囲だと、あなたの言っていることは正しかったです。
制御系のプログラムの作成では、C言語以外を使ったことないですね。C++とか
Javaが使えるプログラマ自体ほとんどいなかったですよ。唯一、C++を使っていた
のを見たのは、画像系の制御でOSはWindowsNTで言語はVisual C++でした。
もしあなたが制御系のプログラマになった場合に、C言語以外を使う可能性は
かなり低いと思います。制御系にはオブジェクト指向が普及していないと言うの
は、私は間違っていないと思いますよ。
>>659 使える状況が少ないだけという気もします。
メモリが足りない~とか、コンパイラが変だ~とか。
662 :
デフォルトの名無しさん:03/04/28 18:34
>>651 4bitマイコンって、1日で仕上げるものなんだ・・・
でも、結局仕様変更なんかで、お客さんに流れるのはだいぶ先にならない?
4bitの方が難しそう。俺苦手だな。4bit着たら簡単でも300万円とか
すぐ見積もりしてまう。
―――復讐○仕返し○特殊探偵○悩み事相談○駆込み寺―――
■□■□■□■□■□■□■□■□■□■□■
●復讐・貴方に代って恨み晴らします!★★★別れ工作★★★
騙された・捨てられた・弄ばれた・相手に誠意がない・債権トラブル・
不倫疑惑・妊娠中絶問題・素行調査・★★★仕返し代行★★★悩み事相談
----------復讐代行◆別れ工作◆復縁心理作戦---------
●電話番号から住所調査・転居先追跡・等など★何でも気軽に相談OK!
確実に貴方の悩みや困り事、トラブル等を迅速に解決致します。
●記載のURLがジャンプしない場合には・コピ-してファイルから開いて下さい!
http://www.blacklist.jp/i (緊急情報)必ずご覧下さい★復讐の実態★★★
●女性秘密工作員・募集中!高収入確実!!!
http://www.blacklist.jp/ リンク・衝撃の現場>
http://www.123456789.jp/ ■□■□■□■□■□■□■□■□■□■□■
◆復讐・不倫の修羅場24時◆危険◆
toronて16bitでも使えます?
666 :
デフォルトの名無しさん:03/04/28 20:02
toronって何?
>>662-663 つーか、4bit 使ってる奴ってたくさん売るやつだろうし、ファームの書き換えも難しそうだから、作るのは1日かも知れんが試験が大変そうな気がする。
>>660 じゃ、制御系はCさえできればオッケーってことで・・・
>>670 アセンブラも使うだろう。
ちょっぴり資源のある石使えるなら
C++だって使うだろう。
Javaだって組込用の石がある。
だから、そんな簡単にひとつに絞らず
手段はたくさん持っていた方がいい。
672 :
デフォルトの名無しさん:03/04/28 21:09
アセンブラ
H8のコンパイラを見たけど、割り込みルーチンや初期化も含めてほとんど
C言語で記述可能。アセンブラで記述するにしてもほんのちょっと。
必要なコンパイラもあるが全員知っている必要はない。
必須の知識ではないし、使えないプログラマも少なくない。
C++とJava
両方とも知らないプログラマは珍しくない。というより多い。
ほとんどの仕事が、前の仕事の変更か、ソースを流用する場合が多い。また、
全くの新規の場合でも納期が厳しい場合が多いので、別の言語を使うような
冒険はしにくいし、知らないプログラマばかりなので保守にも困る。
担当者から上司まで含めて、オブジェクト指向の必要性を感じている人は少ない。
というより知らない。 よって、C++やJavaを使おうという発想自体がない
知らないよりは知っておいたほうが良いのは当然だが、自分の見てきたところでは
そんな感じ。その中には、かなり大手の企業もあった。
アナデバのBlackfin DSPはアセンブラ必須だよ~。
Cコンパイラが糞すぎて使い物にならん。・゚・(ノД`)・゚・。
>>672 アセンブラで書くことほとんどなくても、デバッグの時に必要だったりする。
特にデバイスに近い所を書く必要がある人は。
>>673 そうなの?
まぁ、俺が学生のころはDSPのコンパイラはTIしかなかった
わけだが、諸事情でADのDSP使わざるを得なくて、
アセンブラオンリーだったんだが・・
4bitはピンキリだね。普通のマイコンに見えるものから、電卓レベルの石
のように凄まじいパズルのようなコードを書かなければいけない場合もある。
どっちもやったことがあるけど、後者は東芝の電卓系の石だったかな。
開発用のエミュレータ/デバッガがLED表示のみで、トグルスイッチで
パチパチして操作するような代物だった。ブレークポイントも張れずに
実行したアドレスをトレースできるだけだったような。
プログラム書くのに図面起こして命令を配置するアドレスの割り振りを人間が
やらないと駄目だった(アドレスによって、分岐できるアドレスが決まる・・・
フラグが次に実行する命令のアドレスに組み込まれていて、たとえば次実行
アドレスを 24h とし、最下位のビットがZフラグだとすると、一致したときは25h
に飛んで、一致しないと24hに飛ぶといった感じ。
まあ、割り込みハンドラ(要因を特定するとこ)やベクタの設定はいつの時代になっても
アセンブラでしか書けないのだが。
あとsleepモードなんか使い出すとアセンブラ無しではむりだわな。
>>677 割り込みハンドラやベクタの設定も
がんばればC(の文法上)でも書ける。
ただ、実際のところインラインアセンブラで書くのと
大差ないのであまり威張れるものでもない。
なんつーか、ただの意地っ張りだな。
sleepモードとかは、まあインラインで書くからなぁ。
何が言いたいかというと、大事なところを見誤ると
オレのようにGWがなくなってしまうということだ。
>>678 普通書けないのは割り込みハンドラでレジスタセーブ/リストアしたり、割り込み復帰命令で戻ったりするところ。
CPU によっては要因の特定の所も書けないかもしれない。
あと、CPU 独自の命令 (Sleep とか) もダメだな。
でも、組込み用 CPU のコンパイラならそこら辺を拡張していてアセンブラを使わなくても書けるようになっているものも多いよ。
> オレのようにGWがなくなってしまうということだ。
だったら、2ch なんかやってねーで、早く仕事終わらせろよ。 (藁
MSP430のコンパイラ使って声出す時計作ってやったが
使ったインラインはNOPのみだった…
681 :
デフォルトの名無しさん:03/04/29 01:42
>>678 >何が言いたいかというと、大事なところを見誤ると
>オレのようにGWがなくなってしまうということだ。
ワラタ、って俺も同じ様なもんだ。
お互い頑張ろう。
683 :
デフォルトの名無しさん:03/04/29 03:16
よく組込系の求人を見ると、「アセンブラ経験3年以上」と書いてあるのを見かけるけど、
このアセンブラ経験というのは、アセンブラでしかコーディングのしようがないマイコンを3年以上経験した人という意味でしょうか?
それとも、Cで普段はコーディングするけど、たまにスタートアップなどはアセンブラでコーディングすることができる人、
という意味でしょうか?
後者の意味なら、自作ボードへのインプリメントができる人、という意味で組込制御系の敷居が高く感じてしまうのですが。
> このアセンブラ経験というのは、アセンブラでしかコーディングのしようがないマイコンを3年以上経験した人という意味でしょうか?
そうです。この不況下に、即戦力以外の人材はいりません。
なんか急に書き込みが多くなりましたね。H8は殆どcで書けるけど、
今やってるNECの8bitはコンパイラがあまりにもタコなコード吐くので
クロックアウト周りはASMで書くしかありませんでした。ベクタ周りはcですけど。
>>669 実はですね、4bitなのに、1ロット数百なんてのが平気でやってきます。
少しまえまでは1ロット万を超えたら海外でしたが今は1ロット千付近から厳しい。
で、なんでそんなロットで4ビットを使うかというと、廉いからです。PICより廉い。
100円違えば千作れば10万。 そんなレベルのコストダウンを強いられています。
そんなロット数なんで、自分の部署でアートワークして試作までやります。
そのアートワークが少し手直しされて本番で流れるようです。
一番嫌なのが時間の長いタイマー機能が入ってる場合です。
30分タイマーが入っていると30分検証に必要ですし、24時間タイマー入ってると・・・・
687 :
デフォルトの名無しさん:03/04/29 21:57
>>686 ・・・それで利益は出せるの?
1ロット数百って、何に使うんだろ?
1ロット数百か、なんだろう
うちで今走ってるのだって10K
…マスクものは楽しいよな、下手したら産廃ゴミだし
689 :
フォルトの名無しさん:03/04/29 23:48
制御系のプログラム作ろうとしたけど回路図画全然わからん。
PIC辺りから始めた方がいい?
690 :
デフォルトの名無しさん:03/04/29 23:49
>>688 10K*\100=\1,000K
安い(w
691 :
デフォルトの名無しさん:03/04/30 00:11
>>689 回路図ってデジタル?
シュミットトリガとかオープンコレクタとかそういう電気周りまで手を出さないで
いいんだったら、そんなに理解は難しくないとおもうよ。
まず自分が動作のわかってる回路(豆電球と電池でも)を回路図にすることから
はじめてみたら?
素人くさい質問でスマソだが、アセンブラ・アセンブラってこのスレでよく言うけど、それって一通りの言語なの?
マシン語に対応したニーモニック(だっけ?)を集めたものだから、プロセッサだかチップごとに異なるものなんじゃないの?
それとも違いはわずかで、一つのプロセッサをマスタすればあとは似たようなもんなの?
>>692 当然チップによって違う。
同一のチップファミリーの中でさえ異なる。(命令の追加程度がほとんどだけど)
ニモニックは統一されてないけど、基礎は似たようなもんだから、
得た知識は応用出来る。
>>693 なるほど、サンクス。
では方言程度で、基本は同じって感じなのね。
で、主流とかマイナーとかあるの?
ARMが旬だとか、スーパーヒタチはもう終わりとか?
>>694 そりゃあります。
勉強するだけなら、そんなもの気にすることもないと思うけど。
>>695 じゃあこのスレのプログラマは、その流行をけっこう意識しているもんなの?
それとも、結局仕事でやったアセンブラしか知らないし、知る由もないもんなの?
>>694 方言程度では済まない。
8086とIA32程度なら、方言とも言えるだろうけど。
主流かマイナーかってのは当然有るけど、マイナーだから
覚えなくても良いって訳にはいかない。
つーか主流のチップなら、通常、最適化されたCコンパイラが有るから
アセンブラの出番は少ない。
>>697 じゃあ主流のチップを相手にした仕事をやるには、アセンブラよりもまずはCって感じ?
>>696 実際に使われるチップは、予算や消費電力や実装面積や、その他諸々の条件で決まる。
ソフト担当の希望するチップ使えるなんてのは、単に幸運なだけ。
でも仕事で使ったチップ以外のアセンブラ使える人は少なくない。
俺の世代なら、8086、Z80で基礎覚えた人も多いだろうし。
>>698 要求仕様がC言語でも満たせるなら、アセンブラなんて使わないって。
趣味でやるならともかく。
まぁコッソリ趣味に走ったプログラミングしてる香具師は多そうだけど(w
いろいろ答えてくれてありがとう。
まだあります(w
PCでは32ビットの処理系が中心だと思うけど、組み込み制御系って16ビットだったり8ビットだったりするの?
また、そうやった処理の単位の違いとアセンブラの違いってのは、関係があるもん?
>>701 用途によって違うが、
カーナビとかDVDは32bit
エアコンやテレビ、ビデオ、ディスクコントローラは16bit
ポットなんかのいわゆる白物家電は8~16bit
リモコンなんかは4bit
どれが中心と言われると、今は16bitが一番市場に多いだろう
>また、そうやった処理の単位の違いとアセンブラの違いってのは、関係があるもん?
OSがあれば、タスク単位とかだが、大抵、32bitクラスでないと
OSは使ってないことが多い
(自前の簡易スケジューラは作る場合はある)
どのみち処理は、
・スタートアップ
・メインループ
・割り込み処理
の3つに分かれることさえ知っていればいいんでないの。
マイコン毎にニーモニックが違うのは当然。
組み込み屋に必要なのは、必要な情報をデータシートから
読み取る技術だ。
>>702 丁寧な解説ありがとう、恩にきります。
スタートアップ、メインループ、割り込みは大事そうだから、ちゃんと覚えておくね。
では、データシートとは何ぞや?
また、スケジューラとはOSの機能のうちのタスク管理のみをするようなプログラムのこと?
>>705 サンクス、こういったチップの仕様書のことね。
これは素人にはわからんわー。
仕事してゆく中で、読めるようになってゆくもんなの?
>>704 TRONの何を調べたらいいの?
707 :
デフォルトの名無しさん:03/04/30 20:12
>>706 一応補足しとくと
>>705 はただのカタログみたいなもんで、実際には
ソフトウェア仕様書、ハードウェア仕様書がそれぞれ1000ページぐらい
あってそれをよまないと作れない。
まぁよむところは決まってるし、必要になったら参照するので十分なんだが。
あと704 じゃないけど手始めにTRONのタスク管理(PCでいうところのマルチスレッド)
でもみてみたら?役にはたつはず。
>>707 うぉ~い、いきなりあがってるからビクーリしたよ(w
データシートって、そんなに分量あるもんなの?
組み込みエンジニアってのも、楽じゃないねー。
TRONのタスク管理って、UNIXやWinとぜんぜん違うもんなの?
ま、コンセプトからして異なるから、違って当たり前かー。
ところで全く話かわっちゃうけど、TRONって昔、映画なかった?(w
なんかGCで、Dr.スランプに出てくるようなスクーターが出てくるような。
坂村さん(だっけ?)も関係していたのだろうか、あれに。
>>708 電話帳位あるからなー。最近はPDFなので必要な所だけ印刷してる。
タスクは、WinとかUNIXで言うところのスレッドが近いかな。
707じゃないけど、全部読む必要はない点では辞書や六法全書みたいな
もんでしょう(データシート)特に電気的な規格の所はソフト屋には
無縁の所。TRONの映画には坂村さんは関わっていません。それより
遙か昔のCG技術であの映画は作られました。傑作なのは「狂ったOS」
のイメージが「いろんなほうを向いてぐるぐる回る怖い顔」なのね。
怖い顔がぐるぐる回っている場面では大爆笑。
AppleⅡのコピー物でスネークゲームやってた頃がナツカスィ
んでディズニー映画だってんだから笑うよな>トロン
子供のころにトロンの電子ゲーム買ったよ。
バイク(スネークのアレだ)シーンとフリスビーシーンが交互にあるんだ。
バイクシーンは結構手に汗握ったな。
713 :
デフォルトの名無しさん:03/05/01 01:45
4bit/8bitクラスの世界は、職人芸の世界です。
普通は、大別して、モトローラ系、インテル系に別れるけど、
このクラスだと、メーカーごとに独自のアーキテクチャで作られているので、
つぶしは利かないよ。ただし、基本は一緒だけどね。
それと、コンパイラの世話になろうとしても、ギチギチにメモリに詰め込まないとならないし、
そもそもそういう使い方しか想定してないので、メーカーからアセンブラしか提供されてないことが多い。
ハード屋と客先が1円、2円のコストダウンのために、ギリギリのスペックのプロセッサを用意してくるので、
そこにむりやり仕様を満たすように、仕様変更に耐えながら、プログラミングするという、結構厳しい仕事だよ。
>>713 ありがとう。
あげんでもいいよ、この話題・・
>>714 禿同。
しかも自分が苦労したってんじゃなくて、
どっかで聞いた風な文面だしなぁ。
4bitは東芝のTMP47が一番楽だな。・・・・最初見た時はありゃりゃだったが
MECのもやった。時分割のが面白かった 14はつらいな
717 :
デフォルトの名無しさん:03/05/01 22:51
IEEE802.11bの仕様書ください。
おながいすます。
IEEEに限んないけど
フォーマットってそこら辺に落ちてねーだろ
その団体等のメシの種だし。
3千円も出して規格翻訳をその団体から買ったら、単なるインデックスだった。どうやら中身は3分冊で1冊その3倍の方か・・・
724 :
デフォルトの名無しさん:03/05/05 16:38
今まで使ったことがないんですけど、ICEの使い方やデバッグの仕方は必須の知識でしょうか?
>>724 ICE は最初システムが動くまでに必要な場合もあるけど
システムが動き出したら後は 自前のデバッガなり好きな環境入れるなりしてデバッグする方がいいでしょ。
デバッグは工夫だよ。
>>724 ICEなしでもデバッグは出来る。
つーか、買ってもらえない(w
糞なICE買うとそっちのbugに悩まされる場合があるよん
ICEなんて余程クリティカルな場面でしか使わないけど、
そんな状況でセッテイングとか使い方を思い出すとか、
初めて使う機能を試すとかしてる間にポート叩いて
ロジアナ観た方が早かったりする。
ICEを使う時って多少の勇気が必要だったりする。
高価なICE買って貰ってダメダメなシステム作っちゃったりしたら....
デバッグというと、printfで変数の内容をモニタするくらいしか知らないけど、
制御系は無理ですか?
>>729 printf() 相当のものがすでにある or 自分で作れるなら大丈夫じゃないかな。
(と言うか、デバッガって使ったことないの ?)
731 :
デフォルトの名無しさん:03/05/05 18:02
>>729 >printf() 相当のものがすでにある or 自分で作れるなら大丈夫じゃないかな。
>(と言うか、デバッガって使ったことないの ?)
printf()は提供されているけど、自分では作れません。
デバッガは、よく評価ボードなんかに付いてくるgdbとかです。
デバッガは、自作のボードに簡単に移植できるのでしょうか?
制御系は難しそうだけど、興味あるんですよ。
デバッガって言っても、周辺がついてくると、
止めて1ステップ実行なんてさせる訳にいかない場合が多くなるんで
1、メモリが内容が見える、
2、動作中に任意の関数を置き換えられる
が出来れば十分。
2を実現する為に、関数呼び出しを全て間接にしてそれをメモリ上においたり工夫してるよ。
>>731 > printf()は提供されているけど、自分では作れません。
printf() はオブジェクトで提供されていると言うこと ?
printf() の機能全てを実装なんかしなくていいと思うよ。
極論すれば、変数を 16進で表示できれば何とかなる。
問題は、printf() の表示内容をどうやって表示/出力するかだと思うよ。
なんか出力デバイスはあるの ?
> デバッガは、よく評価ボードなんかに付いてくるgdbとかです。
> デバッガは、自作のボードに簡単に移植できるのでしょうか?
gdb は難しいと思う。
リソースもいっぱい必要そうだから、リモートデバッグとかならできるだろうが。
734 :
デフォルトの名無しさん:03/05/05 20:09
>>731 仕事に使うんであれば、C言語で記述するならICEは必須じゃないかな。
組み込みボードには、ホストと通信できるI/Oもない場合も多いし。
リアルICEじゃなくても、JTAG ICEやROM ICEでも機能に制限はあるけど、
それほど不便は感じなかった。操作性の悪いのはあったけどね。
GDBをRS232Cを使ってリモートデバッグするには、stubと呼ばれるモニタ
プログラムがボード側に必要になる。仕様は公開されているけど、作るのは
無理でしょうから、どこからソースを見つけてきてカスタマイズするしか
ない。簡単とは思えないけど、他に方法はない。プロでもこういうのが
できるのはあまりいないんだよな。
stubが見つかっても、RS232Cを使うことになるから、ロードに時間がかかるのは
我慢するしかない。
printfが載らないときは
適当なLEDをピカピカさせよう!
それで十分、十分ですよ・・・
・・・ウゥ・・・iceホシィ・・・
しかし C 言語で開発するようなシステムなら 調歩同期端子くらいどこかにあるだろう。
それも無かったらピカピカというか、同期パルス+信号出してオシロで観測なんてのも良くやるな
シリアルが一本あいてれば何とかなるだろうけど
SCIがもともと2個しかなくて両方とも使ってるとかになったら
やっぱりICEしかないんじゃない?
今のご時世 人件費>>>ICEの値段なんだし
>>734 gdbのリモート接続は全体的に遅いような気がする。
ether使えば多少ましになるが…
739 :
デフォルトの名無しさん:03/05/05 21:04
>>736 CPUに端子はあるけど、コネクタに出てないときもある。でも開発するときには、
まずICEの確保を考えるから、シリアル端子を使うという発想はない。
それに、組み込みだとRAM容量がないので、シリアル通信だけできてもなー。
オンボードでROMに書き込めても、仕事でそんなことやってられない。
無駄を省くのとケチとは違うというのが自分の信条。技術者の給料も高い時代に
ICEを使えるところに、シリアルでデバッグというのは、自分の分類ではケチだな。
ちゃんと計算すると多分損していると思うけどな。ケチは目の前の金のことしか
考えないから、表に出ないところでかかっているコストに気づかない事が多い。
零細企業だとやむを得ないのかもしれないが、効率を無視するところに
明るい未来はこないんじゃないかな。
ICEを使うと効率も上がるんだけど、技術の低いプログラマでも使えるというのが
メリット。優秀なプログラマならなしでもできるが、技術力のないプログラマだと
逆に、ICEなしでは仕事ができない。
つまり、単価の安いプログラマを使うこともできる。
>>735 昔はLEDランプをモールス信号で点滅させて
printf代わりにしてたらしいですね。
>>昔はLEDランプをモールス信号で点滅させて
うかつにも笑っちゃったよ。
まあ、モールスはやらないけど、点滅の長短ぐらいは
やるよな
>>739 まあ ICEなしで仕事出来ない人間が派遣ならそうかもしれないね。
でも雇うんならICEなしで仕事した方がデバッグの工夫もするし、ソース品質を上げようともするし、トータルでは得だと思うよ。
まあ、新採用のCPUだとハードがらみのトラブルも多いから、最初は欲しいけどね。
会社や開発の規模によって結構違うでしょ
ICEを使わないと工夫するといのは同意だし、
そういうことを経験しておくのはいいことだと思うが、
ICE使えば済むことを自分でやらなきゃいけないのは生産的ではない
ソース品質なんかはそもそも別の次元の話だろ
745 :
デフォルトの名無しさん:03/05/07 22:13
>>743 馬鹿げてると思うな。教えられずにICEなしでもデバッグできるくらいの人に
工夫うんぬんは失礼だ。それに、派遣に2月くらい長くいられたらICE買う
ぐらいの金は出て行くでしょう。ROM ICEですむのならレンタルすれば
かなり安くすむ。
土俵が違うんですかね。はずれてるかもしれないが、思いついたのは。
1. プログラムの規模? 自分のところではC言語で数万ラインで結構複雑。
2. 勤務形態? 残業手当のつかないところは、人件費を固定してとらえ
ただ同然の扱いをし、物に金をかけない場合がある。
開発に使うボードやソフトで一概に言えないが、規模が小さくてICEがいらない
ということであれば、そういう仕事はいずれなくなるんじゃないですか。
数万行で派遣2ヶ月? そんなものかな
747 :
デフォルトの名無しさん:03/05/07 22:32
>>746 違うよ。数万行と派遣2ヶ月は無関係。言いたかったのはICEをケチっても
2月くらい余分に派遣に居座られれば、ちょっとしたICEを買うくらいの金は出て行く。
だったら、ICEを手配した方が良いんじゃないかって事。
物を買わなければ、安上がりになるという考え方が正しいとは限らないって話。
>>745 レンタルした場合、返してからバグが見付かってしくしく…って事もありますが。
つか、一回やった。なんとかなったが。
(゚∀゚)我永遠に氷をICE
750 :
デフォルトの名無しさん:03/05/08 07:31
>>748 レンタルで返した後でバグが見つかったのはレンタルが悪いからでしょうか?
普通は動作確認に問題があったと考えるんではないでしょうか?
ICEが無くてもなんとかなる場合
1、シリアル端子が独占またはある程度利用可能
2、フラッシュROM又は実行部を入れる為のSRAMがある
3、RAMに空きが4Kbyte以上ある
これらが満たされないと厳しいな
どうやるかというと、Cの自作関数部を全部間接呼び出しにしておく
ツール作ってアセンブラでxxx JMP Vxxx のテーブルを作るようにしてこれをRAMにおくと簡単
で、デバッグ時は様子を見たい関数を置き換えてのprintfデバッグ
まあでもCの関数を事前に検証出来るようにBCBとかで簡単なテスト用環境作ってある程度検証してるから
そんなにデバッグに時間かけてないというか、かけられないというか、
動き出したら機械屋にもってかれてICE使えるような状態にならないというか
>>750 ハードの仕様が微妙に変わったら、
隠れていた問題が表にでてきたんです。
まあICEに頼り過ぎるのはどうよって事で。
過去に痛い目にあったこともあるしねえ。
753 :
デフォルトの名無しさん:03/05/08 23:01
>>751 それくらいのハードだったらICEなしで何とかするよりも、JTAG ICEを
使えばいいのにとは思うけどな。デバッグに時間がかけられないから
こそ効率的なデバッグをしたほうがいいと思うんだが。
デバッグ効率は桁違いに上がると思うよ。
CPUが限定されるのが難点だけど。モトローラとか他のメーカでも
売れ線のCPUはサポートされてきてるし、ボードにコネクタを
1個つければいいだけだから、結構手軽。
754 :
デフォルトの名無しさん:03/05/08 23:04
>>752 継続的にサポートが必要だったら、普通はICEを買うでしょう。ICEなしでも
何とかなりましたと言っても、次に何か起こったときも大丈夫かな。
例えば、(1)トラブル発生-->(2)原因特定できず-->(3)ICE手配-->(4)ICE入手
-->(5)問題解決となった場合に。
"ICEがないんだから対応の遅れは仕方ない" と言ってくれる会社ならいいが、
"どうしてICEがなかったんだ 誰の責任だ" となったときに
"要求しなかった担当者が悪い" ということにならなければいいんだが。担当者は
通らないと思って要求しなくても、ずるい(それとも普通の)上司なら
"担当者が要求しなかった"と言って逃げるんじゃないかな。
ICEなしに頑張る担当者は偉いかもしれないが、そういうリスクはあるかもね。
755 :
デフォルトの名無しさん:03/05/11 08:10
NEC 78xxxxシリーズ 8bitチップで、AXの16bitをミラー反転するコード
mov c,#8
L01: rolc a,1
xch a,x
rorc a,1
xch a,x
dbnz c,$L01
rolc a,1
movw bc,ax <--BCに乗せて返せばcインターフェース
ret
ループ8回で16bitがひっくり返るのがウマー。実際に必要になって書きました。
なるほどね 自分なら 8bitのビット反転テーブル作ってる所だけど・・・
757 :
デフォルトの名無しさん:03/05/11 18:30
↑それもやりました。ROMに余裕があったので最終的に使ったのはそっち
でしたが、サイズの小ささと実行速度とトリッキーさでいい味出してると
思ったもんで(´∀`) [256]のテーブル作ってbyte値で表引きするときは、
テーブルをXX00番地に置いてMSBは固定、LSBが即添字になるようにしました。
蛇足ですが読んでいて何のことか判らない人のために:
; 4bitと 0 1 2 3 4 5 6 7 8 9 A B C D E F
; そのmirror:0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F
; 4bitと______0 1 2 3 4 5 6 7 8 9 A B C D E F
; そのmirror:0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F
ずれたスマソ
も~~イヤン
>>759 ブッフバルト
; 4bitと 0 1 2 3 4 5 6 7 8 9 A B C D E F
; そのmirror:0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F
書けないならこれでいいだろ
; 0 1 2 3 4 5 6 7 8 9 A B C D E F 4bit
; 0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F そのmirror
制服系のスレはここですか?(;´Д`)ハァハァ
762 :
デフォルトの名無しさん:03/05/15 18:06
IA80で、リストにXREF出させるオプションありませんでしたっけ?
>>762 出来なかったような気がする。
IR80使って、LNKのオプションでシンボルファイル出力して、
それを、CREF.EXEに食わせる。だったと思う。
うろ覚えで、ごめん。
少~し思い出してきた。何でCREFみたいなアプリがあるんじゃい!と思った。
XREFに頼れないなら今ではエディタの検索機能に頼るほうがいいな。
「この変数、参照されてないのに何で残ってるの?」みたいなのを調べる
仕事なんです。
765 :
デフォルトの名無しさん:03/05/15 21:54
2つのレジスタをスワップする時、
他のレジスタ使わないでやるやり方
どーやるんでしたっけ?
>>765 A = A XOR B ;Aには AとBの違いが入る
B = B XOR A ;Bには B xor (A XOR B) つまり A が入る
A = A XOR B ;Aには (A XOR B) XOR A つまり Bが入る
A= A-B
B= -(B-A) = A-B
A= -(A-B) = B-A
>>762 調べてきた、やっぱり間違ってたすまん。
IA80で /Cオプションをつけると、*.$CFファイルができる。
これをCREF.EXEに食わせると、クロスリファレンスを出力する。
こんな感じ、
C:>IA80 FOO.SRC/C
C:>CREF FOO
いや、リストファイル(*.PRN)も出力しないと意味無いから、こんな感じだな。
C:>IA80 FOO.SRC/L/C
C:>CREF FOO >FOO.CRF
>>770 AとBをアドレス渡しして、AとBが同じアドレスだった場合じゃなかったかな
YEWMACのファイルをWindows上でみる方法ってないでしょうか?
YM-MSCVTを使わない方法で。
>>773 止めるために、現行のソースを参考にしたいんです。
担当者すら仕様がわからないらしいので。
775 :
デフォルトの名無しさん:03/05/28 00:14
VxWorksのシリアル通信において,
送信バッファのサイズを知る方法をご存知でしたら教えてください。
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
777 :
デフォルトの名無しさん:03/05/28 20:08
age
778 :
デフォルトの名無しさん:03/06/02 17:14
今、PIC16F84AでEEPROMにデータを書き込むプログラムを
作っているんだけど、何故かバンク切り替えが出来ないらしく
PSでデバッグしてみるとEECON1,EECON2がバンク0の
アドレスのままになっているが何故だろう。
AKIのアセンブラに何か問題でもあるのか?
7回デバッグしてツールを疑え
・・・って祝一平の言葉だったけ?
>>779 ですな。
人を疑えだったような気もするが、思い出せん。
とりあえず「俺の所ではない!」と言ってから調べ始めよ・・・
てのはなかったかな。
782 :
デフォルトの名無しさん:03/06/03 09:48
どうも、AKIのアセンブラの仕様みたい。
色々と調べていると、バンクを切り替えた後でも80H以降の
リード・ライトが出来ていない(7bit目が変化しない)。
特殊なコーディングをしてあげないと駄目なようで。
MOVLW 055H
MOV EECON2,W ;Start write
MPASMは標準の書き方みたいだから、そちらに変換中。
783 :
デフォルトの名無しさん:03/06/04 20:30
EEPROM データロケーションにライトするには、まず、
アドレスをEEADR レジスタに書き込み、データをEEDATA
レジスタに書き込む必要があります。次に、例4-2 の
シーケンスに従ってライトサイクルを開始します。
例 4-2:例 4-2:例 4-2:例4-2:
DATA EEPROM のライトDATA EEPROM のライトDATA EEPROM のライトDATA EEPROM のライト
上記のシーケンスが各バイトに対して正確に実行され
ない場合(EECON2 に55h をライトし、EECON2 にAAh を
ライトし、最後にWR ビットをセットする)、ライトが
開始することはありません。このコードセグメント中
は、割込みの発生を禁止することをお勧めします。
更に、EECON1 のWREN ビットをセットしてライトを許
可する必要があります。このメカニズムにより予想し
ないコードの実行(つまり、プログラムの喪失など)
によりデータEEPROM への誤った書き込みを防ぐことが
できます。WREN ビットは、EEPROM の更新時以外は常に
クリアにしてください。WREN ビットはハードウエアで
はクリアされません。
784 :
デフォルトの名無しさん:03/06/04 20:45
>>783 PICの解説書通りの説明をありがとう(それくらいは目を通してあります)。
とりあえず解決しました。どうも、アセンブラの仕様みたいですね。
AKIのアセンブラに通してデバッグすると、バンク2のアドレスのハズが
バンク1側(アドレスの7ビット目が常にオフ)にしかなりません。
同様のプログラムにして、MPASMに通してやると、正しいアドレスに
なって、E2PROMに書き込む作業が出来ました。
詳細な理由は分かりませんが、AKIのアセンブラ使えね~って感じでした。
いや、実は↑で結構はまったので・・ 若かったな>俺
ほんとにASMのバグだったとはね。
でもMPASMって書き込み関連ですぐにバグらない?
しかもライタまで壊したことがあった・・
786 :
デフォルトの名無しさん:03/06/04 22:00
>>785 >ほんとにASMのバグだったとはね。
ウチの環境では、という事にしておきます。色々とネット検索してみましたが、
メーリングリストで「書けない」って人はいました。その後の報告がなかったので
どうなったのかは分かりませんが。
使い始めからAKIの方でコーディングしていたので、MPASMが認識できる様に
変換するので手間取ってしまいました。書き込みについてはAKIの方で
行っていますが、そんな不具合が出るのですか?
>>786 一時期会社中のPICライターを片っ端から壊して(抵抗焼損)
大騒ぎになったことがあります。
PCかケーブルもあやしかったんだけどね
788 :
デフォルトの名無しさん:03/06/06 02:54
職安で、制御系ソフトウェア開発。
一週間程の出張あり。学歴不問。未経験者可
という、会社があるんですが、怪しいですか?
> 学歴不問。未経験者可
大抵は嘘
それってデスマの燃料になるだけの要員募集ってことなの?
792 :
デフォルトの名無しさん:03/06/06 12:40
未経験でも1日でMAPファイルがよめて
symdebがつかえて回路図からハードの間違いも
指摘できてASCIIコードをそらでエンコードデコード
できるようになれば問題無し
793 :
デフォルトの名無しさん:03/06/06 14:04
>>792 それは未経験ソープ嬢が1日でNo.1になるより困難だ
794 :
デフォルトの名無しさん:03/06/06 20:28
>>792 最後のは結構簡単そうだが..
ってもしかしてアナログオシロの画面から直接?
>>788 ちなみに、「一週間程の出張あり」→「一ヶ月程の出張あり」だと思った方がよい。
大抵は客先都合で掴まって、交代要員が準備できるまで帰れない...
796 :
デフォルトの名無しさん:03/06/07 09:38
組込み系の話はここでいいのかな?
新しい会社に入ったんだが、ちょいと質問。
モジュールごとにプロセス立てている(50ぐらい)のは普通のことなのかな?
画像処理&制御系で、50MHz、内臓RAM8KB、チープなRISC、
SDRAM32MB、マイナーなRTOSといった感じ。
前にいたところではプロセスの数は出来るだけ少なくする設計を心がけていたんだが・・・。
俺が間違っているの?
>>795 人質要員ですな。
最悪問題解決まで帰れないという…
>>796 好みの問題じゃないかなー。漏れも少なくしようとは思わない。
モジュール毎は見通し悪そうな気もするけど。
モジュール=ソフト上の機能単位というだけなら立てすぎだろな~。
俺は「デバイス対応に」立てるよ。
799 :
デフォルトの名無しさん:03/06/07 22:32
出張先って、国内だけではない
800 :
デフォルトの名無しさん:03/06/07 22:33
地球外の可能性もある。
シーケンス制御とバックフォワード制御
の長所と短所教えてください
>>799 俺の後輩(会社は違う)で「中国へ出張へ行ってくれ」と言われたヤツがいる。
後に、そいつの嫁さんと話をした時、「もう会社を止めさせる」とか言っていたな。
この時期に中国とは、金よりも命の方が大切だよな...
803 :
SCILAB誰か?:03/06/08 10:54
制御系シミュレーションソフトSCILABのソースコードが公開されていますが、
誰か、VC++.NETで読めましたか?
>>802 「止めさせる」って、その嫁さんが会社の実権握ってるのかと思ったよ
「辞めさせる」なわけね
>>804 「止めさせる」で正解かな、駄目なら「辞めさせる」という事ですね。
2人とも社内結婚(つまり俺の後輩)で、子供が出来たから
嫁さんは退社したんだけど、それほど大きくない派遣会社だから
社長とも顔馴染みな訳。派遣先の正社員は出ずで、派遣会社に
仕事が廻ってきた。で、社長に直訴して駄目ならって事ですね。
どこも中国出張はキンシなのかな?
折れの会社もそうなんだが。
SARSが大きな話題になる前に出張に行った、中国人の
同僚が帰ってきたときは、2週間そいつは出社禁止になったなぁ。。。
しわ寄せが派遣に逝ってるのか・・・
807 :
デフォルトの名無しさん:03/06/08 21:48
>>803 VC6ではコンパイルできた記憶がある。
読むだけなら、テキストエディタでもいいと思うけど。
808 :
デフォルトの名無しさん:03/06/10 00:55
カーネルスレッドってどうやって測定するの?
gettimeofdayなんか使える?
810 :
デフォルトの名無しさん:03/06/10 17:43
コンテキストスイッチって、浮動小数関連のレジスタも切り替えしないと逝けないの?
全く浮動小数点演算もMMCも使わないなら不要だろうけど、普通使うでしょ?
>>811 ありが㌧
やぱーりそうでつか。じゃあ書くかな。('A`)ノ マンドクセー
昔の Win16のようにタスク切替を割り込み使わずにAPIコールに限ってしまえば 不要だと思うよ。
その前後で自分で保管してねって注意書き入れておけばさ
>>813 >その前後で自分で保管してねって注意書き入れておけばさ
そんな無茶な
それくらいならAPIコールの中で保存してやれよ
たぶんうまく逝ったよ。(゚д゚)ウマー
制御系の資格国家試験ってあるの?
818 :
デフォルトの名無しさん:03/06/11 22:31
>817
持ってる、当然2種も1種も
以下、資格肯定派と反対派の争い
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
819 :
デフォルトの名無しさん:03/06/11 22:34
肯定1票
オレも肯定。
まだ2種のみだが。
エンベデ持ってるやついる?
あれって、あの試験のラインナップでもかなりマイナーだよねー。
>>817 エンベデッドと言うのですか。わかりますた。
みなさんどうも。
荒れないうちに。
マイコン応用なら。
年間で千数百人程度しか受験しないんじゃなかったっけ。
受験会場も、エンジニアっぽい人が多くて、
女性も数えられる程度しか見かけなかったよ。
資格もってて、何かいい事あった?
手当付くとか、ねーちゃんに もてる とか・・・
824 :
デフォルトの名無しさん:03/06/12 01:02
無いよりイイと思うが
>>823 ねーちゃんにもてる ってのは当たらずも遠からずだな
うちのカミさんとの馴れ初めは試験会場での雑談だったからな
>>827 合格率低いな。
まあ、情報処理の国家試験って、どれも合格率低すぎだけどな。
829 :
デフォルトの名無しさん:03/06/17 11:05
HEW用の無料ライブラリってありますか?
今欲しいのは、
・ハフマンみたいな強力な圧縮
・SSLみたいな暗号
です。
>>828 受かりそうもない香具師が大勢受けるからな。
GZIPで圧縮すればいいんでないの?
832 :
デフォルトの名無しさん:03/06/17 12:58
>>832 ftp.ring.gr.jp/pub/GNU/gzip
gnuのミラーならどこにでもあるでせう。
834 :
デフォルトの名無しさん:03/06/17 21:20
マイコン応用 ほんと人少なかったな・・
学生のとき取ったけど、たしか学生って一桁しかいなかった気がする
参考書がないのでセンターが出してる水色の分厚い本をかってしまった・・
まだ家にあるはず。
役に立ったかといえばT/S命令とかアトミックとかリカーシブとか
リエントラントとかがわかるとサーブレット作るときにも結構役に立つとか、
そんなもんかなあ。
やはりPCの低レベルなところをしってるといろいろ役に立つ。
835 :
デフォルトの名無しさん:03/06/18 08:35
thanx!
>>833 手に入りました。手を加える必要がありそうです。
SH/HEW用に直した圧縮や暗号ライブラリを公開しているサイトとか無いですかね。
自分の環境では使えないSH-LinuxではSSHも動きそうなのがなんとも。
Linuxを組み込みに使うには、まだまだ注意点が多いんだよねー。
ちったぁ加工しろよ。
837 :
デフォルトの名無しさん:03/06/18 14:20
>>836 いろんなライブラリの加工をやってるYO!
あまりに、標準エラー出力の多いライブラリだと挫折したりとか。
でも、HEWライブラリ公開サイトって無いかなー、みたいな。
fprintf(stderr,"これのこと?\n");
fprintf(stderr,"GZIPは作ったけどageない。\n");
839 :
デフォルトの名無しさん:03/06/18 17:04
>>838 そんなことしてると、日本の独自組み込み牙城が、Linuxなんかに飲み込まれるんでわ?
Linux ソースを参考ばかりに覗いてみるのもいいかもよ。
>>837 個人じゃHEWなんて手が出ないからねえ。
そういう事したいならGNU toolchainに移行してeCos使え。
zlibも入ってるぞ。
eCosかよ!
843 :
デフォルトの名無しさん:03/06/20 19:31
eCosなんて日本でお仕事用に使ってるのいるの?
uclinuxよりは良さそうだけど。
アライドテレシスの人がたまにパッチを投げているので、
何かに使ってるんでは?
contributeしてる人数のわりに、MLに.jpな人いねーからなあ。
漏れはuClinuxのほうが楽でいいと思うが。
845 :
デフォルトの名無しさん:03/06/25 18:50
組み込み系のソフト開発能力をUPしたいのですが、
自宅でできる良い勉強方法を教えてください。
対象はリアルタイム性が要求される制御系ソフトです。
宜しくお願いします。
とりあえず PID は作れるよね? H無限大は追いかけてる?
DDAは理解してるよね?Z変換は大丈夫?
>>846 H無限大ってなんですか?
PIDって作るものなんですか?
DDAは知らないけどDOAなら持ってます。
ZよりZZの方がアニメじゃないと思う。
>846
PID は、matlabでシミュレーションはあります。
コーディングは、まだです。
H∞は、聞いたことだけで分かっていません。
DDAとは何ですか?
Z変換は、あまり理解していません。
DDA デジタル差分解析 (Digital Differential Analyzer)
Bresenham で有名
簡単な応用として、PWMを累計で出力するとか、
ゲームでスーパマリオの重力の世界を表現するとか
ラプラス変換・フーリエ変換が判っててシステムを s で記述出来るなら
Z変換は問題ないでしょ。
コンパイル時には問題ないのですが、
リンク時に___curr_eh_stack_entryがリンクできないとエラーがでます。
そういう識別子はソース(プリプロセッサ後)にはないのですが・・・。
似たような経験した方はいないですか?
コンパイラはhew2を使用しています。
851 :
デフォルトの名無しさん:03/06/27 00:30
つーか、所謂ハード制御と古典的制御・自動制御って(ry
>>852 解決しました。
ライブラリ作成時にはプロジェクトの例外処理の使用にチェックをいれてたんですが、
そのライブラリを使用する側は例外処理の使用にチェックを入れてないのが原因でした。
初めて組み込み系のソフトを作ってるんで、いきあたりばったりな状態です。
>>854 ・お値段
・H8Tinyとの住み分け
てなところだろう。
そこらへんは判るけど 小ピンでもROM/RAMが多いのを一つ用意しても良かったと思うけどなあ
ROMが多ければ小ピンでも音声合成チップ代わりとか、
FPGAとかRAMベースDSPのブートデータ入れたりとか、
フォント内蔵のインテリジェント熱転写プリンタとか、
色んな応用がありえるし出来る。
今回のサイズだとPIC使ってる所は興味持たないだろう。
858 :
デフォルトの名無しさん:03/07/02 04:22
パチンコ関係は不正プログラムを防ぐために、
Z80しか使ってはいけないと言うのは本当?
もし、本当なら転職できるけど、逝きたくない業界でもあるわな。
自動車関係が、Z80しか使ってはいけないと言う風に、
法律で決めてほしいよ。。。
860 :
デフォルトの名無しさん:03/07/02 08:07
>>858 ぎゃくにZ80だけであんなアニメーションとかできたらすごすぎだと
おもわないか?
マジレスすれば玉の出る確率を決めるところだけ別チップで、そこは
Z80相当+承認を受けたプログラムしかだめ だったとおもう。
862 :
デフォルトの名無しさん:03/07/02 14:28
初歩的な質問です。
たとえば、UARTの受信があったら、それを受信レジスタから読み出して、
必要な処理をするというプログラムがあったとします。
これを、受信割込を使わないで、行うようにする定番の方法みたいなものはないでしょうか?
while(1){
if(受信フラグ==1){
受信処理;
}
通常の計算処理など;
}
こういったプログラムを作った場合、「通常の計算処理など」が、
条件によって、たまたま時間がかかってしまった場合、
受信したキャラクタの取りこぼしが発生してしまうので、
やはり割込を使うしか方法がないように思うのですが。
>>862 CPUをもっと高速なものにする・・・というのは置いておいて。
「通常の計算処理など」が短ければいいわけだから、
めんどくさいけど、細切れにしてしまえば?
こんな感じ
static int state=0;
switch(state)
{
case 0:
(略)
state=1;
break;
case 1:
(略)
state=2;
break;
}
こんなスレもあったんだ・・・。
現場作業から離れて何年も経過してるけど、
今でもASMは覚えてるなぁ・・・。
当時はHD647180Xをメインに使ってた。
865 :
デフォルトの名無しさん:03/07/02 22:44
>>862 そのやり方だと、「通常の計算処理1」、「通常の計算処理2」・・・となった場合には、
かなり見づらいプログラムになる。
素直に割込を使う方がよいと思われ。
867 :
デフォルトの名無しさん:03/07/02 23:36
>>858 自動車関係はもうすでに遥か先を行っているぞ。
>>863 すみません。
もうちょっと詳しく解説して頂けませんか?
>>862 UART持ってて割り込み使えないシステムはまずないと思う。
考えられるのは
他に時間精度の必要な割り込みがある・・事だけど、普通は多重割り込みを許可すれば解決するだろう
ハードウエアで受信禁止をかけているから割り込み使わずにヒマな時に見て処理するという場合はあるけど
870 :
パチンコ屋:03/07/03 10:11
>>858 そんな事は無いぞ。
以前のパチンコ機は6811系が主流で、Z80系は少数派だった。
外部リセット・スタート式(リセット信号のタイムアップで初期値から
スタートする)がその頃のプログラムの基本だったからね。
逆にパチスロ機はZ80系が主流だったよ。
バックアップ処理の問題や、液晶などの他の制御系はZ80系、例えば、
川鉄のKCや東芝の95C061がメインで使われていて、それと一緒の
Z80系の方が混乱しないという事からよく使われるようになってきた。
必然的に、タイマ・スタート式(モード2のタイマ割込み)のプログラム
となったけどね。
それから、専用MPUメーカーであるLETechやNACは、警察OBの
天下り先なので、そこが現在主流としているのがZ80系なのは事実。
また、
>>860が言うように、「承認を受けたプログラムしか駄目」というのは
ある意味正解だ。検査をする保通協も、警察OBの天下り先であり、
MPUメーカーとは密接な関係があるからね。
「球(パチンコではこっちを使う)の出る確率を決めるところだけ別チップ」
というのは、半分正解。新しい4280MPUは内部乱数を持っているし、
サミーの様にハード乱数を使う場合もある(パチスロはハード乱数が主流)。
今までのパチンコの主流は、NACや2280MPUを使い、プログラムで
ソフト乱数を作る方。以前は+1方式だったが、現在はスキップ方式となった。
ここら辺はパチンコ雑誌とかにも書いてあるよ。
>>862 自動ハードウェアフロー制御機能付きUARTを使う(w
これならポーリングでも問題なし。フロー制御をUARTが勝手に
やってくれるから。
昔、子供向けおもちゃの赤外線通信を実装したときは、1ビットづつソフトで
送受信したYO!
全部クロック測ってポーリングしたので、ソースコードのコメントにクロック
書いていたので、ソースがえらいことになってた。無理してクロック合わせ
とかしていたので、スパゲッティソースの極致になってたな。
まぁ割り込み使えるなら、割り込み使った方がいいよ。
UARTを取り上げたのは、あくまで一例なのですが、
実際、外部割込を使う場合でも、割込に対応しているCPUのI/Oピンが限られていたりすることも多いと思います。
そう言った場合には、ポーリングを使うこともあると思うのですが、
どうやるのかと思って質問しました。
内蔵じゃないUARTか・・・今時使うかなあ・・・というのが感想だね。
もし、そんなふうな事やるなら
1)4bitマイコンやPICででもインテリジェントな受信ユニット作る
2)
>>869 >>871の通りハードフローで相手に受信しない時は送らせない
だと思うけどね。
874 :
デフォルトの名無しさん:03/07/04 07:48
875 :
デフォルトの名無しさん:03/07/05 20:02
>>872 ハードウエアで割込ピンを兼用するようにしてしまえば?
>>872 俺実際にやったよ。割り込みベクタはアプリが独占している状況で
Hexコードを受信してFROMに書く。ROMに書いてレディを待つ間も受信ポート
をポーリングして受信バイトをキューしておく。とにかく「処理時間が1文字
の転送時間(9.6Kなら1mS)を越える」ようなループには全て受信ポーリング
を入れる必要がある。当然printfやscanfみたいな「重い」ライブラリなんか
使えない。文字単位の変換から全部自前で書く。パズルみたいだよ。
タコ設計自慢してどうする。
878 :
デフォルトの名無しさん:03/07/06 13:06
>>876 綱渡りな設計だね
なんでそうなっちゃったん?
4ビットマイコンで調歩同期とかリモコン出力とか使ってるために
割り込みをかけられなくて、シフトレジスタの受信をポーリングでやるなんて事はよくあるけど
SIO持ってるようなリッチな場合は設計段階でやらなくて良いようにすると思うけどなあ
それこそPIC使ってインテリジェントに受信すればいいし
>>876 やはりそうやるのですね。
>とにかく「処理時間が1文字の転送時間(9.6Kなら1mS)を越える」ようなループには
>全て受信ポーリングを入れる必要がある。
これが、
>>863さんの言う「細切れ」で、
「かなり見づらいプログラム」(
>>865)、「パズルみたい」ということですね?
>>880 > >とにかく「処理時間が1文字の転送時間(9.6Kなら1mS)を越える」ようなループには
> >全て受信ポーリングを入れる必要がある。
>
> これが、
>>863さんの言う「細切れ」で、
微妙に違うと思うぞ。
>>876 さんのは、受信処理(受信フラグ判定を含む)を通常の計算処理内のループに
埋め込むというやり方で、受信処理は複数箇所から呼び出されることになる。
それに対して、
>>863 さんのは、大きなループを一つ用意して、
受信処理と細切れにした通常の計算処理を交互に実行する。
そのため受信処理は一箇所だけになる。
既存のソースに対して追加しなければならない場合は、
>>876 さんの方法を使って、
一から作るんならデバッグが楽な
>>863 さんの方法を使うようになるんじゃないかと思う。
まぁ、使わないにこしたことはないんだが…
882 :
デフォルトの名無しさん:03/07/07 22:18
この手の処理は1ms以下のタイマ割り込み内で
I/Oポートをポーリングするのが一番すっきりしているのではないかな。
>>882 タイマ割り込み使えるなら、
なんも考えずにそうするのがいいな
シンプルなのが一番
884 :
デフォルトの名無しさん:03/07/08 00:07
>>882 9600bpsくらいまでなら、それで充分追いつくんだよな
それから先をポーリングでやろうとすると、厳しい。
割り込み使っても割り込みだらけになる。
>>878 FROMにアプリを書き込むローダなのよ。割り込みベクタは電源オン
以外全部アプリの中を指す。電源ONでローダに制御が来て、FROMを調べて
プログラムが書き込んでなければ受信書き込みを実行、書き込んであれば
(10000h番地とか決めてある)アプリのスタート番地へ分岐する。
だから割り込みは一切使えないわけ。
タイマ走らせても同じ理由でコンペアマッチフラグをポーリングしなきゃいけない。
内蔵フラッシュ書換え中はRAM上にコードが無いといけないとかあって
最近の16bitクラスだとベクタ番地を動かせるのも多いけど、
ベクター変えるのもメンドクサイからシリアルをポーリングにした事はあるな。
そのモードではそれだけしかしないから逆に楽だった。
内蔵SIOが足りたいときに、調歩同期信号の立下りで割り込みかけて
後、タイマー割り込みで1ビットごとに受信するなんてのも作ったけど
今時のマイコン 19200とかでも余裕だ。
>>885 >>886 が言うような Vector Base Register みたいなのがあれば、それ使えばいいし。
そうでないときは、割り込みベクタは RAM 領域のジャンプテーブルを指すようにしておけばいいだけだと思う。
(電源 ON 時に、とりあえずローダー用にジャンプテーブル初期化しとけばいいし、アプリに移行した時は、アプリに好きなように初期化させりゃいいだけだろ。)
4bit CPU 使ってるから、余分なジャンプテーブルが取れないとか、間接ジャンプが難しいとかの制限があるのか ?
888 :
デフォルトの名無しさん:03/07/09 01:40
>>886 PICクラスのマイクロコンピュータというより、マイクロコントローラクラスだと、
さすがに余裕とは言えないのでは?
ちょっと、余裕のある16ビットクラスでも、たとえばSRAMが8ビット幅、2ウェイトアクセスのような
悪条件が重なれば、余裕はなくなると思う。
もちろん、CPUが数百メガで動いてくれるなら、話しは別だけど。
>>888 4bitで昔やった事があるが、割り込み処理が追い付かなかった。
レジスタを退避している間に次の割り込みがかかるという…
受信処理に専念しても特に問題なかったので、それで逃げた。
最近の16ビットクラスのマイコンはタイマは贅沢にあるからね。
1マシンサイクル1usより速くて、自由に設定出来るタイマがあるなら
19200bpsだと
割り込みエッジから52/2=26uS後を タイマー割込かエッジ割り込み内で待つかして
そこでLを確認した後は52uS毎にタイマ割込みかけて シフトすればよい。
逆に4ビットマイコンだと
>>889さんの言うとおり、割り込み内でループさせないと厳しいね。
もっともだから逆に19200とかその倍くらいの速度が作り易い。
891 :
デフォルトの名無しさん:03/07/09 20:10
割り込みハンドラと割り込みルーチンはどこが違うの?
あと、なんで割り込み処理は短めに書いた方がいいと言われるの?
割り込んだ上にデカイ顔されちゃかなわんから。
894 :
デフォルトの名無しさん:03/07/09 22:03
>>891 割り込み内では割り込み禁止すること多いからじゃないの?
そうすると割り込み応答時間がその分長くなる
895 :
デフォルトの名無しさん:03/07/09 22:40
自作のプログラムからMPEG2キャプチャーカードを制御して
録画を開始させる事は可能ですか?
>>895 簡単簡単
すくなくともキャプチャーカードを設計してチップ配置して回路起こして
ガリバーデータ作って基盤作ってチップ乗っけて半田つけてお城で波形見て
タイミング検証するよりはずっと簡単だと思うよ
あたりまえじゃん。
898 :
デフォルトの名無しさん:03/07/10 01:19
>>890 しかし、16ビットクラスだとSCIも普通に持っていることが多いわな(w
そうだね。100Pinあれば3つくらい付いてたりとかが普通だね。
でも、あと1個2個欲しい時とかあるじゃない。
900 :
デフォルトの名無しさん:03/07/10 18:34
>>896 簡単だと言いつつプログラムもまともに組んだことがない罠。
901 :
デフォルトの名無しさん:03/07/11 00:12
>>891 メインは空ループで、ただのイベント待ち。
割り込みで起動する方が、実際の仕事をするというのを書いたことがある。
別に、普通に動いてた。
902 :
デフォルトの名無しさん:03/07/11 02:50
>>899 ソフトコアのプロセッサなら、何個でも作れるじゃん。
誰かいじったことある香具師いる?
JavaChipってどう?
picとかH8もいいけどjavachipのポードで遊んでみたいが試したしといますか?
そんなのhaltで充分ですよ!!
907 :
デフォルトの名無しさん:03/07/12 03:03
制御系って理系でないと無理なのでつか?
漏れは文系でCはできるが。。。
どうなのでしょう?
回路設計とか勉強したほうがいいだろうな。
ただ、スレでもでているが、会社によっては
ファームやミドルを制御系と呼んでいるとこ
もあるから、そういうとこならCの知識だけで
やっていけるよ。
いや、センスも必要だがセンスだけでこの業界は渡っていけないかも...。
体力と言うか持久力も必要だっりする。
あとやっぱり、普通のアプリケーション開発に比べてマイナーなところはあるから、自分で調べる熱意と実行力が何より必要と思う。
そういう意味で、2ch に質問投げてる時点で
>>907 はたぶん無理。
制御系は泥臭いからなあ。
かといって他がいいかと言えば
ドキュンなことも多いし。
そうだね。
ライブラリなんて買えばいい。 プログラムなんてライブラリ組み合わせるもの・・・
みたいな事やってた奴はだいたい数年で消えてしまう。
913 :
デフォルトの名無しさん:03/07/12 11:34
>>908-912
907です。
転職を考えているところが
制御系メインのようなので迷ってました。
ありがとうございました。
914 :
無料動画直リン:03/07/12 11:38
> 2ch に質問投げてる時点で **** はたぶん無理。
これっておきまりの文句だよね。
>>915 一般論だけを語っても意味が無いことを、
どこの誰とも分からん相手に聞かれたら、
普通そう答えると思うぞ
> *** に質問してる時点で **** はたぶん無理。
>>912 似たような事を言って自爆した人がいますな。
>>887 ずいぶん離れちゃったな。ベクタbaseregは無い石でした(H8/3007)
なのでベクタは固定、内蔵RAMは4Kでアプリが使うデータわんさか=
ジャンプテーブルを置く余裕はありませんでした。4年前ですけど。
FROMの特性で8K、8K、16K、32Kの区切りでイレーズできるので、0からのセクタに
そのモニタを置いたのが敗因でした。モニタ=ローダとアプリのベクタを
同じセクションに置いたために、ベクタは全て固定で10000+4n番地を指す
ことにして、10000+4n番地に「各割り込み処理へのジャンプ命令」を置く
ことをアプリに強制する結果になりました。 これで判ったのは・・・
「石の性質とローダは切っても切れない関係」ですね。この体験を生かして
別のシステムではローダを0ではなく4000hに置き、ベクタはアプリに開放
できたこともあります。
>>919 ベクタテーブルを開放してしまうと、ベクタ0を間違って書いた時に
ローダまで起動できなくなって、悲しいことになりませんか?
いや、一回再起不能にしてしまったことがあるので…
結局ROMはがして書き直す羽目に。
>>911 >>912 みたいに、泥臭いの当然・ライブラリの組み合わせなんてやってられない。
てな時代錯誤した考えがまかり通ってるところが、
この業界の悲惨なとこであり、取り残されていってる理由である。
仕事である以上、泥臭いのは当然。
道具から自分で作ってやらなきゃいけないんだからね。
他人の作ったライブラリの組み合わせなんて、そんな仕事やってたら
組込みは著作権が複雑になって大変だから、こも仕方ない。
この業界が悲惨なのは、結局はソフト単体では商売にならなくて製品と一体なんだけど
その肝心の製造が衰退して、海外シフトが進んでしまったからってだけでしょう。
まあ魅力ある商品企画を自分で出せないソフト屋がダメなんだろうと言われればその通り。
何を作るにも高コスト体質なので仕方ないといえば仕方ないけど、残念な話だ。
試作基板が国内でOlimex品質でいいからOlimex価格で出来たらなあとか
半導体メーカにはPICが既にあるんだからPICサイズで大容量ROM/RAMを作ってくれとか
923 :
デフォルトの名無しさん:03/07/13 16:10
>>922 >組込みは著作権が複雑
(゚∀゚)バレなきゃオッケー!
だけどさ、泥臭いのは100も承知であえて言うなら
泥臭い仕事をいかに排除していけるかってのが
効率化と経費削減とにつながるんだから
もっと道具とソフトに金かけろ。買え。
>>925 高すぎて数作らないと買ってもらえません。
もっと安くして下さい。
同じく泥臭いのは100も承知だけど、
その泥臭さにかまけて酷いコード書く人って多すぎるんじゃない?
組み込み系のプログラマに情報系出身がほとんどいないせいで、(漏れの周りだけかも)
彼らはプログラマ的な発想が皆無だし。
うちの上司は未だにCは使えないとか言ってるし。(漏れのとこが酷いだけかも)
開発環境作ってるソフト屋も泥臭いとこにまみれてるやつらは、
どうにかして使うだろうからって、適度に力抜いてるんじゃない?
とにかく、数年で消えるのはどっちだよって思うよ。
就職したての感想なんだけどね・・・。
泥臭くなるのはコーディング以前の問題もあるんだよね。
設計段階でハードの仕様が不完全だったり途中で変わったり。
低レベルになればなるほど仕様の変更への対応が泥臭くなるのよね。
>>927 産業系SEですか?
代表例として最適ですな。
別に売ってるライブラリが使えるなら
費用見合いで使うのも構わんと思うけどな。
最悪自分で改造するぐらいの覚悟と能力があるならな
>>928 その気持ちを大事にしてね
もちろん、泥臭いのをたっぷりと経験することも
それはそれで無駄じゃない。
でも、語弊を招くのを承知であえて言うと
経験というか、知恵とか知識ってのも
金で買える ということは忘れないでほしい。
>>928 > 彼らはプログラマ的な発想が皆無だし。
ひとつでいいから、具体的に書いてみな。
言うだけなら、いくらでも...だからな。
ハードに依っては、プログラマ的発想?では駄目な場合があるのが制御系。
就職したてだそうだが、そこらへんはちゃんと考えてみたかい?
「さっきの打ち合わせで、全ポートプルアップやめてプルダウンにしたから」
なんだよそれ
>>935 うわ。。。。。いっそ論理逆転させられた方が楽かも。
つーか、俺なら「だったら論理逆転させろやこら(怒)」と言う。
で、IN/OUTさせるところで反転いれて主要ロジックに変更なしでウマー
ってのは良くやったな。
H/W屋からすると、バッファの種類を変えるだけだったり、
PLD内のラッチの出力を引っ張りだす場所を変えるだけだったり
意外と受け入れられ易かったりする。
>>936 結局、ファーム屋っつーポジションは
ソフトもハードも押さえなきゃならんってことだね
>>937 リリースの遅れや動作不良はうかうかしてるとソフト屋側に被せられかねない
ハードのチェックぐらいできないとやられてしまう
余っているポート使って(無ければ無理矢理こじ開けて)ログ確認用の
printfの自作ぐらいできないと勤まらないのがこの業界だからな。
少なくともどんな構成でハードが動いているかぐらい判らなければ
つとまらんよ。
>>920 最初の1,2個それやってから(´∀`)、
セクタ毎のハードプロテクトかけるようにしました。
941 :
デフォルトの名無しさん:03/07/14 08:16
>>920 デバッグ用の基板って、ROMが外付けでソケットになってたりしないの?
>>939 俺、printfは作れません。。。
>>941 1~2時間で終わる位の修正だったので、その辺に置いてあった基板を使っていたのですよ。
で、しばらく触っていなかったので、手順を間違えたことに気が付かないで…
片手間で終わらせるつもりが、大仕事になってしまいました(w
943 :
デフォルトの名無しさん:03/07/14 16:26
>>941 printfは7行スレに簡易的な奴が落ちてたよ。
基本的にデバッグ用としてなら必要十分だったから
使わせてもらってるよ
944 :
デフォルトの名無しさん:03/07/14 16:42
945 :
デフォルトの名無しさん:03/07/14 19:02
ソフト(マイコンプログラミング)とハード(HDLによるRTL)もやっている人はいないの?
俺はstdio.hもincludeしないが、なにか?
>>936 基本的に入出力は独立させとくのは、もはや常識だと思うが。
別に、制御系に限ったことじゃないと思うし。
>>946 この世界じゃ、別に珍しいことじゃないと思うけど。
この世界じゃなくても、Windows プログラムなら stdio.h なんかインクルードしてないのが普通だし。
>>947 何も考えずにメモリマップ度I/Oをそのままビット演算しちゃうなんて
初心者にはよくあることです。
おかげで申告できない残業が増えるんですよ。
なに、泣いてんの? 笑ってんの?
りょーほー
stdrom.hなら。
SHのHEW使いから、LSIC-86使いに戻りますた・・
>>945 それなりにいそうだが。
折れは、趣味ではHDLいじってる電子工作好きのソフト屋でつ。
でも、仕事じゃなぁ~。いまはASIC起こすことがほとんどなくなったし・・・
>>947-948 メモリマップドI/Oをそのままビット演算するのがいけなくて、
入出力は独立させておくのが常識というのがよくわからないのですが。
書き込み専用のI/O(出力)を、リードしてしまうとか、その辺のことですか?
>>950 メモリマップドI/Oを彼方此方で読む
→処理中にI/Oの状態が変化した場合、ヤバイことになること多し
H/Wとのインタフェースは余程特殊な場合を除いて、
独立したモジュールで一括処理するのが無難
腐ったH/WでReadしながらタイミング見計らって
叩いてやらなきゃいかんような場合は例外
>>951 > メモリマップドI/Oを彼方此方で読む
> →処理中にI/Oの状態が変化した場合、ヤバイことになること多し
なんか話がずれてるような気が...、ハードウェアアクセスの所ってハードの都合で変更されたりすることがあるから、一箇所にまとめておけば修正が楽って言う話じゃないの ?
処理途中で値が変化するとか言うのはまた別な話だと思うが。
953 :
デフォルトの名無しさん:03/07/15 00:09
>>951 > メモリマップドI/Oを彼方此方で読む
> →処理中にI/Oの状態が変化した場合、ヤバイことになること多し
これは、タイミング的な話しで、ダイレクトにI/Oを読んでいると、
処理の途中で、I/Oの状態が変化すると、処理に一貫性がなくなるので、
処理の中では、読むところを一カ所に固定して、その値を内部のレジスタに取り込んで、
そのレジスタ値を処理の対象にせよ、ということだね。
>>952 >ハードウェアアクセスの所ってハードの都合で変更されたりすることがあるから、
>一箇所にまとめておけば修正が楽って言う話じゃないの ?
これは、プログラムの構造の話しで、あちこちにI/Oアクセスを散らばらせるのではなく、
一カ所に関数(一種のデバイスドライバ)化しておいておけば、その関数を修正すれば済むので、
柔軟に対応ができる、ということだね。
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
955 :
デフォルトの名無しさん:03/07/15 11:01
波形やタイミングによっては、チャタリング防止とか入れるし、
1モジュールにした方がその後は修正しやすいし。
板の動作チェックも兼ねてるからI/Oルーチンから出来上がるw
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
>>956 漏れもそうだな。
テストプログラムが発展して本番プログラムのI/Oモジュールになる。
こういうのも他に流用出来るといいんだけどなーと思いつつ、毎回作ってるが。
959 :
デフォルトの名無しさん:03/07/16 02:11
そろそろ次スレを誰か立てて・・・
960 :
デフォルトの名無しさん:03/07/17 19:52
すみません、教えて下さい。
機器でSRAMカード(ATAじゃなくて、ただのSRAMカード)をメモリとして使ってます。
WindowsでSRAMカードの内容を読みたいのですが、どうすれば良いのでしょうか?
>>960 げろ。
まるち野郎なんかに答えてやるんじゃなかった。
>>961 こことマルチしたくなるようなスレあったか?
>>959 このペースならもっとギリギリ(980位?)でもいいんじゃない?
2,3日レスつかないこともしょっちゅうだし
JEIDAから規格書買え
>>963 旧JEIDAと旧EIAJ(社団法人 日本電子機械工業会)は
2000年11月1日付けで統合され、
JEITA(社団法人 電子情報技術産業協会)となりました。
すまん。うちにある仕様書がJEIDAのものだった為……
966 :
デフォルトの名無しさん:03/07/24 04:44
組込み制御分野でオブジェクト指向(C++)で開発した人いますか?
何か良いことありました?
>>966 Javaでならあるけど。
PC上で組んだコードがそのまま使える
ので開発はめちゃ楽。
メモリ制限めちゃ厳しいけど。
>>966 C言語にC++を足す形にしたので、
C言語用に関数インターフェースをプラスする羽目になった。
が、計算クラスみたいなのを用意しとくだけでパラメタの保持から計算まで1クラス=1ファイルに収まったので開発が破綻から免れた。
C言語部分は改変という形で、完成はしてるけど、
巨大なスイッチ文で破綻したコードのような気がする。
969 :
デフォルトの名無しさん:03/07/24 12:46
すんません、質問です。
SH4(SH7750)でSCIFの信号を読みたいんですが、どのレジスタを読んだらいいですか?
TxD/RxD/CTS/RTSは普通に読めるけど、それ以外はどうすれば……
>>969 ハードウェアマニュアルを見れ。FIFO付きシリアルインターフェースの項じゃ。
>>966 データを操作している人がわかりやすい
多態によって似たようなスイッチ文がへらせる。
>>967 めちゃくちゃ言うな。
J2SE用のコードがそのままうごくわけ無いだろ。
973 :
デフォルトの名無しさん:03/07/24 22:44
組込み系でオブジェクト指向(C++)で開発した場合、
生成されるオブジェクトはどこに割り当てられるの?
スタックですか?
>>974 972じゃないけど、MIPS32 4KSdのJava Card対応っていうのは
本当にバイトコードが動くってことなの?
それとも、違う石なのかな?
>>973 構造体と同じ。
newした場合は普通ヒープ。
977 :
デフォルトの名無しさん:03/07/26 15:42
>>976 ヒープにとられるとなると、あまりオブジェクトを作って消してを繰り返せば、
ヒープが虫食いだらけになるね。
なんかC++は使いにくそう。
組み込みでC++使うのにnewの多用はまずいだろ
>>977 そんなのはガベージコレクションが有れば無問題。
ガベージコレクションのオーバーヘッドが問題になるようなら使えないが、
そういうときはヒープを使わないプログラミングをする破目になるかもな。
ま、べつに動的に生成/消滅しなきゃオブジェクト志向でないってわけでもあるまい。
>>977 newをオーバーライドして自前でアロケーションすればOK。
めんどくさいけどね。
ガベコレよりはこっちが主流じゃないかな。
でも、めんどくさいのとバグが入りやすいので
基本的には978氏に賛成。
981 :
デフォルトの名無しさん:03/07/26 20:17
>>972 java.longのSystemやStringなどなど、基本的なものもない。
ガベージコレクタも実装されてない。
>>975 簡単な命令は動く。複雑な命令はソフトで実行。
速度を出すためにスタック操作をハードウェアで。
「まるごと図解最新組み込みJAVAがわかる」読んでみてください。
>>982 その本のJava Cardの部分を今日立ち読みしたんだけど、
いくつかのチップで動くみたいですね。
「インターフェース3月号ICカード特集」では
ファイル変換するようなことが書かれていたので、
実際に動くかどうかは、まだ半信半疑ですが(^^;
近いうちに現物が見れそうなので期待してます。
invokevirtualとかは当然ソフトウェア命令に展開されるんだろうな・・
結構遅そう
でもgcがないってことはメモリ管理はどうするんだろ