H8_SH__ルネサスマイコン総合スレ4__M32_R8C_Tiny

このエントリーをはてなブックマークに追加
1774ワット発電中さん
PICもAVRもいいけど、やっぱりMade in Japan ルネサスマイコンは最高っす。
  
  H8やSHだけの限定ではありません。ルネサスマイコンについてなんでもどうぞ。
  トラ技のTinyやR8Cから入った入門者の人も、M32/16ファンのあなたも、
  ルネサス製マイコンや開発環境に関する、レポート、質問、購入方法など、なんでもドゾー。
  
  特に初心者の人には親切丁寧をモットーにお答えしますよ。

  過去スレ1 http://science3.2ch.net/test/read.cgi/denki/1106160714/
  過去スレ2 http://science6.2ch.net/test/read.cgi/denki/1159675598/
  過去スレ3 http://science6.2ch.net/test/read.cgi/denki/1228014309/

  関連スレ H8/SH gcc vs 純正コンパイラ
       http://science6.2ch.net/test/read.cgi/denki/1183216226/l50
       トラ技4月号に付録のH8マイコンで実験しよう Part5
       http://science6.2ch.net/test/read.cgi/denki/1102215461/l50
       【浦島】H8は日立製だと言い張るスレ【太郎】
       http://science6.2ch.net/test/read.cgi/denki/1072445656/l50
       H8ファミリ、スーパーH 限定スレ
       http://science6.2ch.net/test/read.cgi/denki/1189508057/l50
       ●●●くみこの組み込み相談室1.0●●●
       http://pc11.2ch.net/test/read.cgi/tech/1191397574/l50 
       ルネサスホームページ 
       http://japan.renesas.com/fmwk.jsp?cnt=mpumcu_category_landing.jsp&fp=/products/mpumcu/
  
  割込処理後のフラグクリアを忘れずに、
  SCI設定後は、1bit時間以上待って、
  モジュールストップに注意して、    さぁ レッツ ルネサスぅ〜〜〜

2774ワット発電中さん:2009/10/05(月) 19:24:44 ID:i+ewnGJM
>>1
おっ恥ずかしいテンプレだなあ
つーか鬼女みたいなセンスだな。
3774ワット発電中さん:2009/10/06(火) 12:17:51 ID:FJ8VnzBU
>>2
見たことあるのか? 妖怪だぞ。
4774ワット発電中さん:2009/10/07(水) 04:58:45 ID:/ERUIT7r
http://www.xlsoft.com/jp/products/intel/case/index.html
インテル コンパイラーで計算機合成ホログラムの計算を行いました。実際の計算では、四則演算のループが中心ですが、
特に int 型の計算が速くなりました。コンパイラーの依存性を確かめる実験を行ったところ、
計算機合成ホログラムでフレネル近似・cos テーブルというものを用いて int 型の計算を行い、

gcc -O3  21.48 [s]
icc  13.27 [s]
物体点数 284 点

という結果を得ることができました。

また、Core2Duo を使った場合、Linux 上で検証を行ったところ 1 コアに対して 1.98 倍程度のパフォーマンス向上になりました。
千葉大学 伊藤智義研究室 殿
Web http://brains.te.chiba-u.jp/


gccの実力、恐るべし
5774ワット発電中さん:2009/10/07(水) 20:33:08 ID:X5HiSxc+
これって、GCCより高速ってベンチじゃないの?
6774ワット発電中さん:2009/10/07(水) 21:48:53 ID:fnKACBYB
HEWの64K制限について

シリアルをごにょごにょするとか、
外部アドレスを定義してリンカーの制限を間逃れるとか、
OSごと再インストールするとか、

を話題にしてもよろしいでしょうか
7774ワット発電中さん:2009/10/07(水) 21:58:16 ID:5S3pLUJ3
どうぞー
8774ワット発電中さん:2009/10/07(水) 22:01:56 ID:wvUhXg0i
           ,,x-ー:: ":::::
        ,x '"::::::::::::::::::::
      ,、'":::::::::::::,, x-‐ ァ:  
    ,,x '"::::::,,、- '"     |:::  
    `"i`ー'"        ヾ 
      !  、 、,,,,,,,,,;;;;;;;;;彡ミ 
     |,,,,ノi `ーヾ;; '"----、  
     ヾ::ヽ     -┴'~   
      ~|:/ ' ' ' `ー ' "'"  
      /_              :
     l    '' )    i    :
      ヽ,,、'~`      U
       ゙, __ ,-、_,ノ`
 |/      ゙, `'" ,,y
 |/  彡  ゙、`-'"
   /|/     i
   /        !    ,, -'"
    |     `ー '"|::
    |      /|||ヽ
          /|||||/心
          |ヾ/ /`ー
9774ワット発電中さん:2009/10/08(木) 01:55:31 ID:ho09wb3t
そんな>>6を、お待ちしておりました。
10774ワット発電中さん:2009/10/09(金) 05:40:44 ID:xDjYedBS
>>6
真ん中の制限回避は問題なの?
11774ワット発電中さん:2009/10/10(土) 17:21:45 ID:UjbcHHFM
gccでasmのソースにスタックの使用量をコメント入れ出来るようにしてみた。
手計算よりはマシ程度だな
12774ワット発電中さん:2009/10/10(土) 19:16:18 ID:EvKIEF24
>>5

>gcc -O3  21.48 [s]
>icc  13.27 [s]

>gccの実力、恐るべし

>>4 がgccを皮肉ってることがわからないのか? 7掛けどころか6掛けだ。 インテルコンパイラ恐るべし
13774ワット発電中さん:2009/10/10(土) 20:19:27 ID:kIV4ulkO
>>12
iccでh8/shがコンパイルできるのか?
14774ワット発電中さん:2009/10/10(土) 21:08:29 ID:EvKIEF24
ばーーか
gccが、メーカ製コンパイラ比7掛けといわれる一例だ。
15774ワット発電中さん:2009/10/10(土) 22:09:03 ID:u2/X/2gX
コア部分をアセンブラにすれば10倍早くなるのに。
16774ワット発電中さん:2009/10/15(木) 12:14:31 ID:tV4ouSuL
今のコンパイラの最適化はそこまでひどくない
17774ワット発電中さん:2009/10/15(木) 15:51:18 ID:wx8E4BDe
と、C使ってる奴がのたまうのは昔から。
18774ワット発電中さん:2009/10/15(木) 18:38:55 ID:ncQOH+lz
3069/ITU1の割り込み(ルネサスヘッダファイル使用)ですが、

ITU.TISRA.BIT.IMFA1 = 0
でIMFA1がリセットされないようです

ITU.TISRA.BYTE = 0 でもだめで
ITU.TISRA.BYTE &= 0xFD でやっとリセットされました

秋月のキット(h8os)にルネサスヘッダファイルは相性が悪いのでしょうか?
19774ワット発電中さん:2009/10/16(金) 04:15:26 ID:BVGmxucg
c38hなら古すぎる。
gccだとvolatileなIOにbit命令使わないけど(ソースをごそごやると...)
20774ワット発電中さん:2009/10/16(金) 05:33:18 ID:LEQkQFAN
最近のgccは使ってくれたような気がするが…
試す環境がネエ。

ビットフィールドじゃなくて'&='とか'|='だったかなあ。
21774ワット発電中さん:2009/10/16(金) 05:37:25 ID:BVGmxucg
sh2aならオプションつけると使うようになったけど、今ひとつ
22774ワット発電中さん:2009/10/16(金) 16:40:12 ID:lFv/IGS/
スタックサイズ増やしたら暴走しなくなりました。
2318:2009/10/16(金) 19:42:54 ID:IvY3qOls
レスありがとうございます

コンパイルは付属CDのh8300-hms-gccを使っていますので
それと相性が悪いのかもしれませんね


ITU.TISRA.BIT.IMFA0 = 0
だとリセットされるのが不思議
24774ワット発電中さん:2009/10/17(土) 20:57:54 ID:FCGegvDg
久しぶりに来たけど、あいかわらず、某Hな会社の糞ツールの
営業マンが頑張ってるようですね。
25774ワット発電中さん:2009/10/19(月) 14:12:01 ID:WBYBvOCw
言い争い分は[H8/SH gcc vs 純正コンパイラ]スレに移動しないかね?
26774ワット発電中さん:2009/10/19(月) 15:10:17 ID:isSpaoOP
それほどの議論でもないし頻度も低いので、ここでいいなじゃないかな。
27774ワット発電中さん:2009/10/19(月) 16:43:55 ID:+qpLR6ws
RXのコンパイラってどうよ?
レジスタ豊富だし、OutOfOderとかいって、キャッシュのあたりとかあるし、
メモリ直接アクセスできないとか、コンパイラの出来が影響大きいと思うけど
28774ワット発電中さん:2009/10/19(月) 17:18:17 ID:8s2LSZo3
レジスタ間接とかあるみたいだけど
29774ワット発電中さん:2009/10/21(水) 17:50:37 ID:4wne0DUq

EEPROMの記憶方法で教えてください。

H8を使った機器で、
電源を切るときに、パネル面など人間が操作した最終の設定値を記憶して、
次回の電源onのときには読み込んで再現・・・という、よくありがちな機能を
作ろうとしています。記憶にはI2CのEEPROMを使用します。

そこで質問です。
いつ電源が切られるかわからないので、記憶するのに工夫が必要だと思いますが、
一般的にはどのようにしているのでしょうか? 次のように、方法とその特徴を考えました。
書込むタイミング
1) タイマー割り込みで10ms毎等に、ガンガン書きまくる。
  機器の情報に関係なく常時書きまくる方法。
  電源切る途中で、書込に間に合わなかったデータは消失。
  EEPROMの回数のこともあるので、この方法はダメだと思う。
2) 機器の情報が変化するたびに書き換える。
  記憶するbyte数が多いと、i2c通信が頻繁に発生。
  キータッチのフィーリングが遅くなる可能性。
  ロータリーエンコーダーなどは大変なことになりそうです。
3) 電源断時にすかさず書き込む
  通常は何もしないですが、電源断時を知って、電源電圧が生きている間に
  ババーッと書き込んで、H8は倒れる。
  電源電圧の下降時間がゆっくりならいいですが、保証はないし
  ハードが必要でめんどくさいですね。
書き込むデータ数
A) 全データを毎回書き換える。
  EEPROMのページ書換を使えば、H8から64byte単位で転送できるので、高速でそれなりに良い方法。
  でも複数ページになると、途中で5ms程度の待ち時間が発生するのが、問題なければ。
B) 変化データだけを書き換える。
  変化した値だけ、その番地をbyte書込みによって書換え、他の番地は触れないようにする。

上記の組み合わせで、たぶん2Aかなと思っているのですが、
ロータリーエンコーダーの設定データがあり、思案六法です。
世の中一般にどのような方法で行われているのでしょうか。

宜しくお願いします
30774ワット発電中さん:2009/10/21(水) 18:05:04 ID:DsWvJ8+L
・差分ではなく、意味のある単位でページに一度に書き込む。
・チェックサム+2重書き込みで電源断に備える。
・上書きせず常に1つ前の状態も持っておき、データ破壊に備える。
思いつくのはこれぐらいかな。
EEPROMの書き込み回数は気にしたら負けです。
簡単に交換できるようにしておくぐらいでしょ。
待ち時間はFIFOや適当な割り込みをトリガにして解決できるかと。
31774ワット発電中さん:2009/10/21(水) 18:10:54 ID:I4Jwd4xc
2Aでも操作中に電源落ちたら駄目だろ
32774ワット発電中さん:2009/10/21(水) 18:12:40 ID:I4Jwd4xc
FeRAMなどの不揮発性RAMを使う
33774ワット発電中さん:2009/10/21(水) 18:39:23 ID:CnoZlgwK
>>29
3で大きめの電源からレギュレータかなにかでVCCつくってキャパシタを挟む。
電源側から判断電圧もらって、割り込みにぶちこんで書き込む。
でよいんでないか?
34774ワット発電中さん:2009/10/21(水) 19:53:19 ID:xUk52DzD
>パネル面など人間が操作した最終の設定値を記憶して
書き換えは頻繁には起こらないってことじゃないの?
35774ワット発電中さん:2009/10/21(水) 22:03:13 ID:5KBiE4Dx
発想が逆なんだよ。
そういう場合は先ず、いつ電源が切られても書き込み完了まで動作できる回路にするんだ。
書き方はその後で好きに選べばいい。
36774ワット発電中さん:2009/10/21(水) 22:41:26 ID:9ivpkYgy
>>930
安いICEないじゃん
37774ワット発電中さん:2009/10/21(水) 22:49:31 ID:wRN0wgUC
人間に保存終了ボタンを押させる
38774ワット発電中さん:2009/10/22(木) 01:32:01 ID:RBZRhtuY
いっそ、電源を切るスイッチは単なるハードウェア割り込みってことにして、
割り込みがかかったらデータを保存して自発的に電源を切る、
もう一度電源ボタンが押されたら初期化する。

って回路にしたらダメ?

大気電流を食う気はするけど。
39774ワット発電中さん:2009/10/22(木) 01:48:20 ID:rDUDwjEr
低消費電力モードあるからそんなに電気くわないよ。
確か、ソフトスタンバイならNMIで復活だ。
40774ワット発電中さん:2009/10/22(木) 01:55:44 ID:4H5RUCbC
普通にキャパシタでそ。
41774ワット発電中さん:2009/10/22(木) 03:08:28 ID:m49DuDLW
みなさん、さっそくのご意見、ありがとうございました。
とても勉強になりました。
・電源OK中に、電源断のことまで「考慮した書込方法」で対処する
・電源断後でも、必ず「全部を書き込み切る」回路を使用する。
・書込ボタンを設けて、人間に責任を負わせる。←これスゴイと思います。
ですね。どうもありがとうございます。
プロの皆さんのご意見が聞けて、嬉しいです。(周りに聞ける人がいないんです)

昨日あれからプログラムを組み続け、さきほどなんとか動作するようになりました。
記憶すべき容量が100byteを超え、多めなので、毎回全体を書き込むことは、
時間がかかるのでやめました。
変化したデータだけを書き換えるように作りました。ですので、
1byte設定ものが20種類、4byteデータものが10種類、6byteデータものが10種類と
専用の書込関数をつくり ダイヤル変化があったら、それに対応する書込関数を実行して
戻ってくる、これが一番速いと考え、そのようにしました。
同じような関数ばかりで、タイプに疲れました。まずまずの感じで動いています。
パリティ、2度書き、停電対策はしていません。

eepromの書込時間tw(5ms max)というのが長くて、困ります。
一番速い信号は、ロータリーエンコーダーで、びゅ〜んとまわすと、軽く数100Hzを
超えますので、それを一々eepromに書いていると間に合いませんので、
変化が止まったと思ったら、書き込むようにしました。

電源断で書き込むタイプも考えましたが、5V系の回路負荷電流が多いと
スグに電圧が落ちますので、ダイオードと抵抗をパラにしたものを
マイコン電源に直列に入れ、その下流にコンデンサを抱かせば、
電源断後に書き込み切れるかもしれません。が、ページあたり5msの書込時間が必要なので
それがネックになると思います。

みなさん、本当にありがとうございました。
42774ワット発電中さん:2009/10/22(木) 14:33:40 ID:UePgDW8X
>>41
そんな設計だと書き込み回数制限を直ぐに突破するような気がする
43774ワット発電中さん:2009/10/22(木) 16:48:07 ID:m4Wg3Ilr
液晶モニタで頻繁に設定保存してEEPROMお亡くなりってあったなあ。
ナナオだったっけ?
44774ワット発電中さん:2009/10/22(木) 17:57:55 ID:OxpTXMkE
書き込み制限気にするなら
CR2032とかで揮発RAMをバックアップしといたら?
最悪電池交換ならお客さん自身でできるでしょ・・・
45774ワット発電中さん:2009/10/22(木) 18:13:57 ID:y9npsGxr
古いMY-ICE動かしたいんだけど、PCカードがPCMCIAしかないんで
最近のノートに繋げられない…
何かに変換して使えるようする物がないか教えて下さい。
46774ワット発電中さん:2009/10/22(木) 18:30:19 ID:1ED0pPZ3
PCI to PCMCIA カード?
47774ワット発電中さん:2009/10/22(木) 19:00:04 ID:y9npsGxr
>>46
PCMCIA → USB or Express Cardです。

使用しているノートPCのカードスロットが、Express Card スロットなんで…
48774ワット発電中さん:2009/10/22(木) 19:38:22 ID:oGA2QEX0
古いICEは古いPCに古いOS乗せて動かすものなのだよ
49774ワット発電中さん:2009/10/22(木) 19:49:10 ID:1ED0pPZ3
50774ワット発電中さん:2009/10/22(木) 19:53:52 ID:YOIywsVI
客先が貸してくれるICEが20世紀末の代物だと、今時のOSでは
動かない場合があるんだよな。
それもあって、Win95/Meの入ったノートが破棄できない。
51774ワット発電中さん:2009/10/22(木) 21:06:45 ID:6SU+0KuX
>>50
うちの会社には、ISAバス用のフルICEがある…が、さすがにもう使わない。
でもまだそれで作ったソフトが現役なんだよなあ…。
52774ワット発電中さん:2009/10/22(木) 21:32:52 ID:mirtcM9V
>>51
うちには、PC-9801のCバスの(ry
53774ワット発電中さん:2009/10/22(木) 22:36:00 ID:y9npsGxr
>>48
やっぱりどこもそうなんですね…

>>49
ノートで使いたかったんですよ…。
デバック環境が狭くなったんで。
5450:2009/10/22(木) 23:04:50 ID:YOIywsVI
そいえば、ちょうど1年前にやった仕事。
H8の絶版CPUを使ったシステムの変更作業。
その時の開発環境がパソコンじゃなくてワークステーション。
ICEはネットワーク接続で、妙に新しいような古いような。
しかし…問題はワークステーション本体。
電源切るときの儀式が苦痛で苦痛で orz どうもトラウマなんだよな。
最後の1台。とか客はプレッシャーかけてくるし。

捨てちまえ。
5550:2009/10/22(木) 23:10:14 ID:YOIywsVI
ちなみに、ワークステーションのエディタはviのみ。
そりゃ昔は毎日使ってたけどさ…
不思議なもんで、20年経過しても操作方法は指が覚えている。

自分のID見たら偶然 ws, viも入ってるしww
56774ワット発電中さん:2009/10/23(金) 11:18:25 ID:NO0u46CS
ドカタおっさん乙。ちょっとは進歩しな。老眼鏡かけながらやってるだろ。
57774ワット発電中さん:2009/10/25(日) 23:39:37 ID:ojQ9Mbrj
車のエンジンコンピュータの中身を勉強したくて
分解して使っているマイコンの品種を突き止めたのですが
ググってもデータシートが見つかりません。
IC表面には HD6475348CP10 と 532 と書いてあったので
H8/532 というCPUではないかと思います。
データシートがどこかで公開されていれば教えてもらえませんか。
58774ワット発電中さん:2009/10/26(月) 00:05:58 ID:0ve7XA/X
カスタムLSIはデータシート公開されてないよ
59774ワット発電中さん:2009/10/26(月) 01:11:52 ID:tjL0fg2f
>>58
そうですか・・・
中身を勉強してH8/300Hでコピー作ってみようと思ったんですが
無理っぽいみたいですね。
60774ワット発電中さん:2009/10/26(月) 01:34:34 ID:Jfx3Cq94
>>59
中身を勉強って、H8の中身?
吸い出して書き込んでってだけのコピー?

ECUの勉強っていうなら…ROMから元ソースや仕様を読むとか多分無理。
61774ワット発電中さん:2009/10/26(月) 01:42:03 ID:uw9reKSe
それは見当違いだなー

HD64 7 5348 CP10
と、あえて分けて書くけど
7は内臓ROM領域がPROM版の意味。ちなみに1はROMレス、3はマスクROM、FはFlash
5348がシリーズ番号。

幸いPROMバージョンだから書き込みモードでベリファイ読み出しすればリバースエンジニアリングできるかもね。

具体的にはH8/548シリーズの1品種。
ttp://www.dzjsw.com/jcdl/h/HD6435348.pdf
62774ワット発電中さん:2009/10/26(月) 01:44:55 ID:uw9reKSe
肝心なトコ、ミスった。H8/534シリーズの1品種。ね。
63774ワット発電中さん:2009/10/26(月) 01:49:07 ID:nylo9URs
H8/300HとH8/534はアーキテクチャ違うからな。
簡単には移植できなさそう。
64774ワット発電中さん:2009/10/26(月) 15:34:13 ID:mlOBK0Vn
16Bitでバンク拡張?
だいぶ違う作りだね
65774ワット発電中さん:2009/10/27(火) 16:01:30 ID:WVpj06ob
>>60
現在のスキルは、PIC16系で速度リミッタ解除ができる程度です。
H8は存在を知っているだけで知識は全く無いです。
・新しい石を覚えてみたい。せっかくだから高性能と言われるH8がいい。
・自分の車のECUがH8だから、これを解析してみたい。
仕組みを理解したいという興味です。
自分なりに理解して同じ動きをするものを作ってみたいです。

>>61
PROMということは、PICで言うところのワンタイム品ですか。
書き込みを試みても中身が破壊されないということですね。
データシート読んで、まずベリファイ手順から勉強します。
66774ワット発電中さん:2009/10/27(火) 16:29:52 ID:RJbQLvnH
>>65
H8とエンジン制御を把握してからじゃないと、さっくり煮詰まる気がするのは私だけか。
32KBの逆アセンブル(いくらかはマップだろうけど)とか、元気だなあと思う俺は歳か。

ググったらECU自作って割とやってる人いるのね。
67774ワット発電中さん:2009/10/28(水) 01:46:12 ID:w+oYJCXm
>65
PROMでも、内部セルはEPROMだお。
追加書き込みすれば内容は破壊されまつ。
あの世代のは書き込み電圧Vppが12V位必要なのと、電圧やタイミングが案外シビアなので、しないと思うけど書き込みはちょっとテク必要。
あと、自動車用だと奥の手でPROMモードで内容読み出せないようになっているかも、のココロだ。
がんばって呉。
68774ワット発電中さん:2009/10/30(金) 13:52:42 ID:/i7yaKOl
マイコンの勉強するなら、どっちのボードが良い?

AKI-H8/3069FフラッシュマイコンLANボード
http://akizukidenshi.com/catalog/g/gK-00168/

AKI-H8/3052LAN開発キット
http://akizukidenshi.com/catalog/g/gK-00211/

ネットワーク使ったプログラム動かしたり、
Linux動かしたりしてみたいんだが。

3069はuClinuxを走らせてみた、というようなページが
いくつか見つかったが、3052は見当たらなかった。

入門本では3052と似た?3048がよく使われてるそうなので、
初心者はこっちの方が良い?
69774ワット発電中さん:2009/10/30(金) 14:15:06 ID:MBm5bM9G
Linux動かすなら3069しかねえだろう。

いちおう3052つうか3048のコードもあるけど、
とりあえず入れてあるだけで実際動かしたことないでよ。

70774ワット発電中さん:2009/10/30(金) 14:20:30 ID:/i7yaKOl
>>69
レスあんがと

3069って2つあるんだけど、これってLCDが付くか付かないかの違いかな?
http://akizukidenshi.com/catalog/g/gK-01271/
http://akizukidenshi.com/catalog/g/gK-00168/
71774ワット発電中さん:2009/11/01(日) 21:24:39 ID:4Xg2dvXM
CPUボード単体か、ママン付きか
最初ならママン付きのほうが楽だと思うよ
72774ワット発電中さん:2009/11/02(月) 10:11:44 ID:v1izDxoM
真ん中の写真だな… ママンにユニバーサル部分もあるしねえ。
73774ワット発電中さん:2009/11/05(木) 16:01:00 ID:RVXgcvWs
ママンって 何?
74774ワット発電中さん:2009/11/05(木) 17:23:35 ID:twgbKN0X
マザーボード
母板

ママン
75774ワット発電中さん:2009/11/05(木) 17:49:18 ID:77cmMo70
じゃぁ、ブレッドボードは「パパン」か。
ドーターボードは、、、
76774ワット発電中さん:2009/11/05(木) 17:54:49 ID:jGPp9RC4
ドーテーボード、、、
77774ワット発電中さん:2009/11/05(木) 19:24:30 ID:AJD2uWAQ
ドーターボードは、、、



「パイパン」
78774ワット発電中さん:2009/11/06(金) 03:29:20 ID:at6/+9bO
なぜに両方女子なのかなどという今更な疑問を持ってしもうた。
79774ワット発電中さん:2009/11/06(金) 09:02:10 ID:qBU3aMRX
daughterは「従属するもの」みたいな形容詞的に使われることがある

80774ワット発電中さん:2009/11/06(金) 13:10:20 ID:WqIc3dmJ
お父さん  father
お母さん  mother
おじいさん uncle
おばあさん aunt
兄弟    brother
姉妹    sister
息子    sun
娘     daughter

おじさん  uncle?
おばさん  qunt?


いとこ
はとこ
またいとこ
義父
義母
義祖父
義叔母
継母
継父
81774ワット発電中さん:2009/11/06(金) 14:37:04 ID:821ioIgw
son of a bitch!
82774ワット発電中さん:2009/11/06(金) 18:36:19 ID:h3SYhrQU
みなさんに相談にのってもらいたいことがあります。

SH7709Aを利用しています。

0.225〜3.225Vを入力,AD変換を通して得られた値に演算を施して,
-3.3〜3.3Vにシフト&増幅して,DA変換しています。

負の値の出力については直接行うことができないため,

正の値 → DA0に出力
負の値 → 正の値に置き換えて,DA1に出力

して,DA0出力とDA1出力を反転したものを作動増幅器にかけて測定しています。

[問題点]
・正の値の出力は上手くいくが,負の値の出力のときにエッジが立つ
 (目的の値とゼロの間を行ったりきたり,回路に入る前の信号で確認)
・その値をSCIで見ようとすると,文字化けが起こる


プログラムは ttp://loda.jp/okufa/?mode=pass&idd=83
         pass = denki

お気づきの点がございましたら,ご指摘いただけるとありがたいです。
83774ワット発電中さん:2009/11/06(金) 21:14:29 ID:HQy4KVNE
増幅器を使うならレベルシフトつきで増幅すればいいだろ
たとえば 0.05〜3.25Vを 1.65Vshift & -2倍 にすれば+3.2V〜-3.2Vを出力できる
84774ワット発電中さん:2009/11/06(金) 23:06:23 ID:T3A3Ohoh
DA変換でオラも質問したいのですが。

マイコォ・ジェァークスン(英語は発音大事)の「ダッ」を変換したいのですが

なんとかならしまへんやろか
85774ワット発電中さん:2009/11/07(土) 00:02:18 ID:YWX0sGkx
H8始めようと思って準備してるんですけど
3664F用(H/300?)のGDLのターゲットファイルがどこにもありません。

どなたかご教授ください<(_ _)>
86変換せえよ:2009/11/07(土) 00:34:55 ID:uInd2GHd
ダッ!
ファオッ!
ダッ!
ポウッ!
87774ワット発電中さん:2009/11/07(土) 02:08:30 ID:8Tda/hCk
マクダナル=Macdonald
88774ワット発電中さん:2009/11/07(土) 03:00:15 ID:2viekUMv
「エッジが立つ」とか俺様用語を使われてもな
「その値を」つーても,何の値なんだかわからんし
89774ワット発電中さん:2009/11/07(土) 11:08:02 ID:uInd2GHd
電気知らないとエッジでは通用せん。

知ってても立ち上がりなのか立ち下りなのかが重要な面では意味が不明瞭になる。

プログラムでは大抵どっちでもいいもんだが
90774ワット発電中さん:2009/11/07(土) 21:10:52 ID:TZfZGvAl
A/D変換のスピードに対して、SCIの出力が間に合わなくて、
化けるのでは(リングバッファの管理がおかしくなってる?)
91774ワット発電中さん:2009/11/07(土) 22:12:28 ID:YJhQknmK
小中学生の「電気を知ってる」レベルならエッジで通用するかもしれないが
所詮、俺様のエッジとエスパーのエッジは違う部分を指していたりする。
どんどん知識が増えてくるとそこらじゅうにエッジがあって、説明が不十分だと意味不明になるんだが
知識が少ない奴はそれが全てだと思い込む輩が多い。
92774ワット発電中さん:2009/11/08(日) 08:52:05 ID:BktXRHxl
>>82
回路図と入出力波形を画像で
93774ワット発電中さん:2009/11/08(日) 17:15:42 ID:9W2dWFtN
SCIF.SCSCR.BYTE &= (~0x80); /*送信割込み禁止*/
はGBR経由でやった方がいいんじゃないだろうか?
94774ワット発電中さん:2009/11/08(日) 17:49:20 ID:8Ck1ROyi
>>82

差動増幅アンプの負帰還抵抗が低すぎるのでは?

マイコンのAD出力ポートのインピーダンスは意外に高いので、
マイコンとOPAMPの間の信号ラインがマイナス側に引っ張られます。
すると、マイコンのI/Oセルがラッチアップして、誤動作する。


AD0とAD1出力を直接差動増幅OPAMPに接続するのでは無く、
一旦、シングルエンドOPAMPでそれぞれx1でバッファし、
低インピーダンス化してから、差動増幅に接続すべきだと思う。

>>82
は恥ずかしい疑問でも、あらゆる手段を講じて解決しようとしている。
一緒に仕事をするならば、信頼できるタイプだと思う。

>>91
おまえは黙っていてくれるか?
95774ワット発電中さん:2009/11/08(日) 17:52:07 ID:8Ck1ROyi
あ・・間違えた。

>>94だが、AD出力ポートでは無く、DA出力ポートだった。失礼。

9682:2009/11/08(日) 21:57:52 ID:NYqtLVdE
皆様,遅くなり申し訳ありません.

>>83
出力に関しては,アップしたプログラムには含んでいませんが,制御式をかませて演算後,代入するため制度を要求されます.
そのため,2ch分のポートをつかい,プラス側8bit+マイナス側8bitの分解能を得る仕様としています.
また,回路での増幅系は,接続デバイスの制約のため,この仕様で固定となります.

>>88
おかしな用語を使用してしまい申し訳ありません.
詳しくは,+出力時は正常動作していますが,-出力時は,正しい値と0とを交互に高速出力するようになってしまっています.
波形の種類としては,パルス波形になってしまっているため,正しい数値のDA変換後に何らかの要因にて0が代入されているようです.
また,「その値」とは,プログラムで使用しています,「da0」になります.言葉足らずで申し訳ありません.
要するに,DA変換で出力する電圧値(アンプにて3倍増幅するので,性格には意図した電圧の1/3の値)です.

>>90
SCIはITUなどでのタイマ動作にしないとやはりまずいのでしょうか.

>>92
とりあえず回路図のみアップいたしました.
http://loda.jp/okufa/?mode=pass&idd=86
P=denki

波形は明日PCに取り込んでアップいたします.


>>94
なるほど,そこは盲点でした.
DA1の出力を×1のOpAmpを通す回路を作成してみます.
9782:2009/11/08(日) 22:02:18 ID:NYqtLVdE
>>82に補足いたします.

回路図をアップしたのでお分かりになられると思いますが,

>0.225〜3.225Vを入力,AD変換を通して得られた値に演算を施して

これは+10〜-10Vの入力電圧をOpAmpにてレベルシフトして,0.225〜3.225Vの入力に変換しております.
98774ワット発電中さん:2009/11/09(月) 00:30:53 ID:5dB8iss0
H8/3069秋月LANボードで外付けRAMの不具合事例ってあります?
H8OSでは問題なかったのですが、
TOPPERS/JSPにしてから、たまにプログラムが起動しなくなります
99774ワット発電中さん:2009/11/09(月) 00:47:50 ID:A9PXnGuR
>>98
途中から石が変わったので、バスコントローラの設定を
変えないとダメとかあったような気がする。
100774ワット発電中さん:2009/11/09(月) 01:05:08 ID:Rmws1wKw
>>94

知識だけじゃなく、他にも大分足りないみたいだな。
哀れw



95 名前:774ワット発電中さん[] 投稿日:2009/11/08(日) 17:52:07 ID:8Ck1ROyi
あ・・間違えた。

>>94だが、AD出力ポートでは無く、DA出力ポートだった。失礼。
101774ワット発電中さん:2009/11/09(月) 02:51:46 ID:YjGRlLyi
100は91と同一人物?

黙っててくれと言ったのが勘に触ったのなら誤る。すまん。
俺、かなり足りないから。by94
102774ワット発電中さん:2009/11/09(月) 04:11:55 ID:Rmws1wKw
>>101
「誤る」位だから日本語までおぼつかないのか。
確かにかなり足りないらしい。
しかしもっと足りないのは、俺なんかへのレスよりも、>>96

> >>94
>なるほど,そこは盲点でした.
>DA1の出力を×1のOpAmpを通す回路を作成してみます.

なんていう頓珍漢な思考に至らしめてしまった事へのフォローだろ。
なんとかしてやれよw
そんな事だから
>所詮、俺様のエッジとエスパーのエッジは違う部分を指していたりする。
って言われるんだよwww
103774ワット発電中さん:2009/11/09(月) 10:32:46 ID:9YiXNw5Y
>>112は、静かにしたほうが良いと思います。
104774ワット発電中さん:2009/11/09(月) 10:37:24 ID:5c16RVHQ
>>112に期待
10582:2009/11/09(月) 13:34:50 ID:zJkbu3hx
>>100-102
ということは回路ではなく,やはりプログラム側に問題があるという認識でよろしいのでしょうか.

波形画像アップしました.
1-1.bmpはマイナス側の意図しないパルス波形を拡大したものです.

ttp://loda.jp/okufa/?mode=pass&idd=87#disqus_thread
P=denki
106774ワット発電中さん:2009/11/09(月) 14:24:05 ID:yAdcnywA
int
main(void)
{
unsigned int ad_data;
double da0;
for(ad_data=0;ad_data<=0xff;ad_data++)
{
da0 = 2.15 * (ad_data - 1.725 / 3.225 * 0xFF);
printf("%02x %f\n",ad_data,da0);
}
}
107774ワット発電中さん:2009/11/09(月) 15:34:10 ID:CqihsLov
>>106

00 -293.250000

01 -291.100000

02 -288.950000

03 -286.800000

04 -284.650000






fe 252.850000

ff 255.000000
108774ワット発電中さん:2009/11/09(月) 15:59:28 ID:mIuNBS/o
>>105
>ということは回路ではなく,やはりプログラム側に問題があるという認識で
切り分けるなら、オシロの観測点を、
・マイコンのAD入力ピンの波形
・マイコンのDA出力ピンの波形
にすべきだよ。
ADピンの波形がNGならハードウェア、DAピンの波形がNGならソフトね。
細かいことはよくわからないけど、
各機能を確認してから全体のプログラムを連結したほうが良いかもしれない。こんな感じ。
1. 入力側のハード確認
   +/-10Vを入れ、AD入力ピンの波形が、「期待する中心電圧、期待する振幅」になっているか
2. ADの確認
   terminalソフト+SCI(RS232)を使って、期待した変換値になっているか、数字で表示してみる。
   fprintf ( SCI0, "AD=%04x\r\n" , AD_henken() );
3. DAの確認
   DAピン電圧が期待した電圧になっているか。
   for()で、0x000〜0x3ffまでをDAから出力し、DAピンをオシロで波形確認。

ADでありがちなのは、
・右詰め、左詰を間違っている。
・Vref端子に電圧を与えていない。

DAでありがちなのは、
・DAは8bit出力なのに、intの値を入れているとか。
・DAは電流が「全然取れない」ことを知らずに、電流を必要とするような回路になっているとか。

がんばってちょ〜よ by 河村市長
10982:2009/11/09(月) 16:10:55 ID:zJkbu3hx
>>108

すみません,書いていませんでしたが,>>105でアップした波形のうち,
上のCh.1がDA出力の波形,下のCh.2がAD入力の波形です.

比較のため2つを同時に計測しています.
プラス側DAはADと同じ波形を示しているのに,マイナス側で問題の事象が起きています.

また,SCIにて電圧値を確認しようとしていますが,これも文字化けという事象のため行き詰っている状態です.

>DAでありがちなのは、
>・DAは8bit出力なのに、intの値を入れているとか。

こちらに関してはプログラム上では一応16進数に変換しなおして代入しているため大丈夫との認識ですが,
もう少し考えてみます.
110774ワット発電中さん:2009/11/09(月) 16:11:14 ID:mIuNBS/o
× for()で、0x000〜0x3ffまでをDAから出力し、DAピンをオシロで波形確認。
○ for()で、0x00〜0xffまでをDAから出力し、DAピンをオシロで波形確認。
111774ワット発電中さん:2009/11/09(月) 16:28:49 ID:tpWCW9Ct
本筋とは関係ないからどうでもいいけど、ADINに繋がるLF356って負帰還だよね
11282:2009/11/09(月) 16:48:22 ID:zJkbu3hx
>>111

あ!
すみません,確認したところピン番号はあっているので,回路図のLF356に表記したプラスとマイナスの記載を逆にしてしまっていたようです.
AD側は現状,おそらく問題なしとお考えください.
11382:2009/11/09(月) 17:03:50 ID:zJkbu3hx
>>108
for文で-0xFF〜+0xFFまで段階的にループさせた結果です.
階段状の波形が見られると思います.
このように,回路上での単純なマイナス出力は問題なくできています.

また,>>111でご指摘がありました回路図の訂正です.
とはいえオペアンプのプラスとマイナスを書き換えただけですが…
ttp://loda.jp/okufa/?mode=pass&idd=88
11498:2009/11/09(月) 18:19:06 ID:Lb7iW035
>>99
情報ありがとうございます

いったん起動しなくなると、しばらく放置しないと元に戻りません
115774ワット発電中さん:2009/11/09(月) 18:41:35 ID:mIuNBS/o
>>109
>プログラム上では一応16進数に変換しなおして代入しているため大丈夫との認識ですが,
何進数でも関係なくて「char か int か」の違いだよ。
というか、DAのbit幅以上の値を書き込むと、DA値は自分のbit幅しか出力しないから、
ゼロが出ると思う。そのDAは何bit?

今回のDAの用例では、DA0とDA1で差動出力にしているみたいだから、
オシロの波形は、AD入力ピンで1つ、DA出力ピンで2つの、計3つの波形が
描かれないといかんと思うけどどう?
0V→負の期待した電圧→0V→負の期待した電圧→ ということだから、
DAの2つの波形を見ると、NG出力している方がわかるんじゃないかと思う。

差動なので、OP AMP出力が0Vだからと言って、必ずしもDA出力が0Vという訳ではなくて、
DA0=DA1であれば、出力=0Vになるから、注意して。

頑張ってちょう。  by 山田昌 (提供:鎌倉ハム)
11682:2009/11/09(月) 23:02:01 ID:CqihsLov
>>115
>今回のDAの用例では、DA0とDA1で差動出力にしているみたいだから、
>オシロの波形は、AD入力ピンで1つ、DA出力ピンで2つの、計3つの波形が
>描かれないといかんと思うけどどう?

これに関しては一度測定したことがありますが,例えばマイナス出力用のポートをDA1とした場合,DA0はプログラム通りおとなしく0Vを出し続けています.
また,ポートDA1の故障も疑い,プログラムでマイナス出力用ポートをDA0,プラス用をDA1と,逆にした場合も同様にDA1はおとなしく0Vを,
DA0は0Vと期待した負の電圧を行ったり来たりしていました.

明日,確認の意味もこめてもう一度測定してみますが,オシロスコープの仕様上,3ch同時取得ができないのでDA0とDA1の2ch分の波形をアップいたします.
117774ワット発電中さん:2009/11/09(月) 23:41:42 ID:mIuNBS/o
>>116
もし、terminalで数字を表示できるくらい遅く動かしても良いなら、
DAの吐く値をterminalに出力して、オシロの波形で0に戻るときにどのような数字が出ているかを
見れば、割に簡単に原因はつかめると思うけどね。
11882:2009/11/10(火) 15:09:58 ID:3jQ1Y2XS
>>115
DAの2つの波形の画像アップしました。
差動増幅器をかける前の信号なので,全て正の値で出力されています。

画像のch1の波形はマイコンのDA1の値,つまり負の値になる部分を出力したものです。
ch2の波形はDA0の値,つまり正の値になる部分を出力したものです。

Mはch2-ch1の波形です。差動増幅回路を通して出た波形もこのような波形になっていると思います。
(実際は3倍になりますが・・・)

ttp://loda.jp/okufa/?mode=pass&idd=90
pass = denki
119774ワット発電中さん:2009/11/10(火) 16:51:03 ID:1DHXlYI7
とりあえずオペアンプとの間を切断(抵抗の足切りでも良いだろうけど)
してDAの生の出力を見てみるかな
120774ワット発電中さん:2009/11/10(火) 16:52:07 ID:aFEtRi/s
>>118
波形測定、お疲れさん。もうちょっといいオシロが欲しい所だね。

今回の波形で、DA0(オシロのCH1?)の出力が原因ということがわかったですね。
あとはソフトが、このDAコンバータにいくつのデータを送っているか調べれば
OKじゃない?

前にも書いたけど、
ゆっくり動作ができるのなら、もうfprintf()とオシロだけで、
原因が調べられると思うよ。

がんばってちょうでゃぁ。
121774ワット発電中さん:2009/11/10(火) 17:07:54 ID:KXVv8jAF
A/Dの値をDA1に直接いれてみるとか?

DAC.DADR1 = ADC.ADDRAH;
DAC.DADR0 = 0x00;
にしたら、どうなるかな?
122774ワット発電中さん:2009/11/10(火) 17:48:20 ID:1DHXlYI7
それにしても,この程度のことでいつまで引っ張ってるんだろうね.
123774ワット発電中さん:2009/11/10(火) 18:01:31 ID:aFEtRi/s
学生かな。
124774ワット発電中さん:2009/11/11(水) 09:53:31 ID:L5ogpBtv
たしかにね。

でも答えが出てないのもまた引っ張る原因かな。

はい、次の話題ドゾー
12582:2009/11/12(木) 17:49:00 ID:OdV5fyS5
>>119
行ってみましたが,グラフのように出力されていました.
プログラムの問題のようです.

>>120
SCIで確認したところ,どうやらADC.ADDRAHの値が変になっているようです.
しかし,それも以前アップした画像のように,ADチャンネルにつないだOpAmp出力は綺麗なので,プログラムの初期化あたりみたいです.

現在仕様書と照らし合わせていますが原因不明です.

どなたかこのようなパターン,心当たりないでしょうか.
126774ワット発電中さん:2009/11/12(木) 18:11:59 ID:jHAJi33c
ADC.ADCR.BYTE = 0x27;
SCNが1になってるけど?
12782:2009/11/12(木) 18:26:32 ID:OdV5fyS5
>>126
もしかしたら…と思い,訂正しましたが,変化ありませんでした.

>>121
いま試してみました.
AD入力の波形はトレースしているのですが,半分以下の値(今回は0〜3.3Vなので,1.6Vくらい)から下が行ったりきたりでした.

どうやら,この行ったり来たりをシフト&拡大していたため,マイナス値での波形がおかしくなっていたようです.

マイナスだからどうこうという問題ではなく,出力レンジの約半分以下のあたりでおかしいみたいです.
128774ワット発電中さん:2009/11/12(木) 20:49:01 ID:uqa11j4O
>>125
頑張ってるね。
>SCIで確認したところ,どうやらADC.ADDRAHの値が変になっているようです.
「ようです」って、
その値がおかしいと判断できたなら、もう修正できるんではないの? 

なのにまだ悩んでいるのが よくわからない。
軽くイラっとくるような、そんな感じね。
129774ワット発電中さん:2009/11/12(木) 23:43:34 ID:jHAJi33c
SCIで確認できたソースとデータを晒さないと
130774ワット発電中さん:2009/11/13(金) 03:46:19 ID:4lVKY55j
教えてください。
数字の表現で、
2進数は、0b11110000 とか表現します。
16進数は、0x123cffe6とか表現します。
10進数は、通常 頭に何もつけずに 1234とかで書きます。

8進数は、どのように書くのでしょうか?
8=octalなので、0o7777とかでしょうか?

また、いずれの場合も先頭に「0」が付きますが、なぜ0が付くのでしょうか?
また、なぜ0なのでしょうか、1でもAでも良いような気がするのですが。
131774ワット発電中さん:2009/11/13(金) 05:05:49 ID:LV5+36YP
C言語なら

10進数 1234
16進数 0x1234
8進数 01234
2進数表記はない

理由はない。単なる決まりごと。
132774ワット発電中さん:2009/11/13(金) 11:25:51 ID:UJ4Qd5m0
>>131
ありがとうございます。
8進数は、頭に「0(ゼロ)」を付けるのですか?
すると、
0(10進数) = 00(8進数)
1(10) = 01(8)
2(10) = 02(8)
3(10) = 03(8)
4(10) = 04(8)
5(10) = 05(8)
6(10) = 06(8)
7(10) = 07(8) ここまでは、どちらでも良いとして
8(10) = 08(8) ←この場合(8)はコンパイラが「エラー」と言うのでしょうか
9(10) = 09(8) ← 同上
10(10) != 010(8の場合9になる?) ← 同上

133774ワット発電中さん:2009/11/13(金) 13:47:09 ID:BYTPuUOD
C言語では0で始まる値は8進数と決まっている。
頭に0をつけることで10進リテラルと区別している。
ただの0は8進数リテラルの0でもある。
gccには>>130が書いたような2進数リテラルも存在する。

>>132
8進数なんだから010が10進数での8だよ。
10進数に10の記号が存在しないように、
8進数で8以降の文字は使われない。
134774ワット発電中さん:2009/11/13(金) 14:37:21 ID:TVorZbbT
0 から始まるだけで8進数なんて、知らない人も多いだろうから、
ゼロパディングして体裁整えようとしてハマる人もいるだろうな。
何を隠そう、自分もそうだった。w
13582:2009/11/13(金) 18:22:49 ID:/QpWsSgr
みなさんお騒がせしました.

プログラムのミスも結構あったのですが,結果的にボードを買いなおしたらちゃんとできました.

今まで使っていたボードのメモリか,ポートに異常があったようです.
136774ワット発電中さん:2009/11/13(金) 19:28:42 ID:UJ4Qd5m0
>>134
そうです。体裁を重視して、0を付けたら、偉いことになったことがありました。
0が8進数の文字だとは知らなかったです。
他の進数は、0xとかアルハベットば入るのに。
137774ワット発電中さん:2009/11/13(金) 20:40:24 ID:F28FghOz
>136
物事の順が逆。
2進数をまとめる表記として8進数が真っ先に成立したから
もっとも楽な表記が8進数に割り当たっている。
16進数の表記とかはあくまでも8進数表記法の拡張。
138774ワット発電中さん:2009/11/13(金) 20:55:53 ID:l+fi87LY
今のゆとりは8進数の歴史的意味なんてわかんないだろ。

同じように、
バイトといえば8ビットだと信じているし、ワードといえば16ビットだと信じている。
オクテットなんて言葉は知らないし、ニブルなんて言っても通じない。

怖いねゆとり世代。
139774ワット発電中さん:2009/11/13(金) 21:33:38 ID:UJ4Qd5m0
ま、待ってください。言葉はわかりますよ。
byte 8bitじゃないんですか?
word 1命令語 機種依存というか説明するときの都合で16,32,64bitなんでもあり
octet 8という意味です octal, octpasなど
nibble 4bit [7:4] とか [3:0]ですよね。

>8進数の歴史的意味
これ、ぜひ教えてください。 なんで8進数が真っ先にできたのですか?
インテル4004が4bitだったのは、0〜10を扱いたかったのだと思います。
8進数だと0〜7ですよね。3本線でやりたかった? なんででしょうか?
140774ワット発電中さん:2009/11/13(金) 22:58:00 ID:TVorZbbT
Z80 のインストラクションなんかを見る機会があったら見てみたらいい。
大抵 OP コードというものがあって、8ビットが 2、3、3 に分解されて
意味をなしていたりする。レジスタ指定が3ビットで、8進数だと
意味がわかりやすいとかじゃなかったかな。

別に知ってるから偉いってほどのもんじゃない。役に立たないうんちくにすぎないし。
C 言語は、単に言語仕様が良くないだけだと思うがね。

なんにせよ、自分がちょっと知ってるだけでゆとりゆとり言うアホは相手にしなくていいよ。
141774ワット発電中さん:2009/11/13(金) 23:14:35 ID:HR0+H1hf
新規に記号を足し加える必要がある16進数は受容されるまでに時間が必要だった、んじゃなかったっけ?
Z80以前では16進数より8進数の方がメジャーだったから、
Z80に限らず(というか、8080に限らずと言い直すべきか)、
3ビット区切りはメジャーだったんじゃないの?

4004のようなマイコン方面からじゃなく、
メインフレーム機やミニコンなどのCPU(当時は複数チップで1CPUとなる方がメジャーだったはず)の世界から。

と思うんだけど、メインフレーム機やミニコンの命令セットをぜんぜん知らないので、
詳しい人はよろしく。
142774ワット発電中さん:2009/11/13(金) 23:33:17 ID:UJ4Qd5m0
Wikipediaを見てきました。
「二進法の 3 桁を八進法の 1 桁で表現できるため
 二進数を人間に分かりやすく記述するのに適している。
 しかし初期の一部のコンピュータを除いて 1 バイトは 8 ビットであり、
  8n 桁 (n は整数、例えば 32 桁や 64 桁) の二進数を扱うことが多いため、
 二進数の 4 桁を 1 桁で表す十六進数のほうが表記が分かりやすく、
 頻繁に使われる。C や Perl などでは、数の前に 0 を付けると八進数と見なされる。
 例えば 011 は 11 ではなく (11)8 すなわち 9 である。」
だそうです。
8進数が「おいしい」とは書いてないみたいです。
何が嬉しくて・・・・・。

人間が10進数を扱いたいから16進数にした、というのは、僕の推測ですが、
よく似た事例に、OP AMPの電源電圧があります。これも僕の推測ですが、
アナログコンピュータとしてのOP AMPで、10進数を扱いたいので、+/-15Vという
電源電圧になったのではないか、と読んでいます。
もしそれが正解なら、16進数の件も 強ち(あながち)違っている訳ではない、と思っています。

時計は12進数か24進数か60進数、日付は12進数か30進数、えとは12。
コンピュータで、8進数が最初に使われた理由は、考えつかないです。
嬉しさがわからないです。
143774ワット発電中さん:2009/11/13(金) 23:36:03 ID:5EKI/5g6
UNIXが最初に載ったマシンが
12ビットだとか18ビットのDECのマシンだったからじゃない?
144774ワット発電中さん:2009/11/13(金) 23:46:00 ID:5EKI/5g6
>>142
> コンピュータで、8進数が最初に使われた理由は、考えつかないです。

「ケン、疑問に思ってたんだがPDPってどういう意味? それに、なぜ18ビットなの? なぜ8の倍数ではなく6の倍数を基準としたミニコンでなければならなかったの?」
の部分を参照。

ttp://h50146.www5.hp.com/products/software/oe/openvms/history/digital/pdpvax/1a.html
145774ワット発電中さん:2009/11/14(土) 00:42:31 ID:oDohfGlm
>>144
ありがとうございます。納得しました。
ASCIIコード表で、6bitだと64文字定義できますね。
実際にキーボードの英数を数えてみたら、ギリギリ64で入りそうでした。
3bitの倍数が始まりなんですね。大変勉強になりました。ありがとうございました。
146774ワット発電中さん:2009/11/14(土) 01:05:14 ID:Wdbx79J2
バイトが8ビットではない時代の話がウィキペディアにあるね。

>本来バイトとは、欧文文字1字分の文字コードを表現するために用いるビット数のことをいい、
>扱う文字種や、あるいはワードサイズをいくつかに分割することによって決められ、
>その大きさは処理系によって異なる。
>歴史的には5ビットから12ビットまであったといわれ、初期のコンピュータの多くでは6ビット、
>また7ビットや9ビットとして扱うコンピュータもあった(DEC PDP-10、NEC ACOS-6など)。
>しかし、大型汎用機で市場を席巻したIBM System/360アーキテクチャが8ビットバイトを採用していたことや、
>1980年代以降8ビットマイクロプロセッサを用いたマイクロコンピュータが爆発的に普及したこともあり、
>一般的には1バイトは8ビットであると認識されるようになった。
147774ワット発電中さん:2009/11/14(土) 01:24:00 ID:Wdbx79J2
もうひとつ面白い話。
ビットの語源は 「binary digit」で、
ドイツ語で石ノミと同音。この「石ノミ」の複数形がバイトなんだそうで。

ちなみに旋盤などで使われるバイトもこのドイツ語の「石ノミ」が語源だそうです。
148774ワット発電中さん:2009/11/14(土) 03:41:50 ID:+rDh85/p
ビットもよく使われているよ。充電ドリルの先に付ける6角形のドライバーとか刃物、
ビットって言うみたい。
14998:2009/11/14(土) 12:15:03 ID:A1Z8p+7j
その後、
外部DRAMがoki製の場合は
cpu_support.Sの364行を修正する必要があるようです

ところで、jsp/config/h8/akih8_3069f/sys_config.hの237行ですが
#define ENABLE_PB_CS (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6|H8PBDDR_CS7)

H8PADDRではなくH8PBDDRなのではないでしょうか
150774ワット発電中さん:2009/11/14(土) 15:03:01 ID:rvoB+7mN
それ設定ファイルみたいだけど。
バージョン古いとかじゃないの?
ENABLE_PB_CSでググるとか。
15198:2009/11/14(土) 16:25:22 ID:A1Z8p+7j
>>150
TOPPERSの初級実装セミナー教材(v1.5)です

同じディレクトリにあるh8_3069f.hには
#define H8PBDDR_CS4 (1<<H8PBDDR_CS4_BIT)
#define H8PBDDR_CS5 (1<<H8PBDDR_CS5_BIT)
#define H8PBDDR_CS6 (1<<H8PBDDR_CS6_BIT)
#define H8PBDDR_CS7 (1<<H8PBDDR_CS7_BIT)
とあってH8PADDR_CSxの定義が無いんですよね
152774ワット発電中さん:2009/11/14(土) 16:29:22 ID:XglhlExF
ENABLE_PB_CSは#if 0で無効になってるみたいだけど
153774ワット発電中さん:2009/11/19(木) 21:21:24 ID:BWIjMPoA
NECと統合か・・・
サービス悪くなるんだろうな。不安・・
154774ワット発電中さん:2009/11/20(金) 00:59:56 ID:OCkt+ePB
教えてください。
ADコンバータのデータを、H8を介してPCにRS232で転送したいと、プログラムをCで組んでいます。

そのADは2つあり、それぞれ20bitです。
データはパラレルで2ms毎にやって来て、それを115200bpsのRS232Cで送り、
ターミナルで「123456,123456<CrLF>」と10進数の文字で表示したいです。
問題は、2msと時間が短いので、各計算をササッとすませなければなりません。

質問です。
送信は送信終了割込を使用しますが、変数内容→文字の変換に時間がかかっています。
変換方法のうまいやり方はないでしょうか?  現在やっているのは、
suuji[10] = { "0123456789" };
a = x / 100000; tx_chr = suuji[a]; temp = x % 100000;
a = x / 10000; tx_chr = suuji[a]; temp = x % 10000;
a = x / 1000; tx_chr = suuji[a]; temp = x % 1000;
a = x / 100; tx_chr = suuji[a]; temp = x % 100;
(省略)
という感じです。
何かステップ数が少ない変換方法はないでしょうか? 宜しくお願いいたします。
155774ワット発電中さん:2009/11/20(金) 01:19:52 ID:ZKzxYOSt
AD変換した物をなぜそのまま送らない。
20 20 → 8 8 (4 4) 8 8 → USART送信
で良いじゃないか。
大体ADに20bitも桁が必要なのかね。
156774ワット発電中さん:2009/11/20(金) 01:38:36 ID:3upbEYoS
H8の送り方の手順決めて、PC側で受信ソフトを作る方がいいんでないかい
157774ワット発電中さん:2009/11/20(金) 02:07:22 ID:ZKzxYOSt
2ms間隔でprintfする意味も分からないし。
158774ワット発電中さん:2009/11/20(金) 02:22:20 ID:L0mJDA28
バイナリで送らずに文字で、しかも真ん中に,があるところを見ると、
Excelなどに取り込みたいんでしょう。
多少の違いはあれ、バイナリから文字へはその計算になる。
だからRS232を速く送ることを考えた方がいいかも知れない。
水晶を変えれば、誤差0で高速なボーレートが行けるかもしれないよ。

>>157
printf?? 何言ってんの、違うだろ。送信割り込みを使うって言っているんだから。
159774ワット発電中さん:2009/11/20(金) 02:30:13 ID:ZKzxYOSt
いやだからターミナルでprintfするんじゃないの?
別に2msでする必要は無いんじゃね。
後々、データ採るんだろうけど。
160774ワット発電中さん:2009/11/20(金) 02:32:27 ID:/v4XzsV8
生バイナリで送ってテキストに保存
後でテキストをPC側の簡単なプログラムに掛けて10進になおす
に一票

C言語の基礎知識がしっかりしてれば、あとは
・PCで動くコマンドラインアプリの作り方
・テキストファイルの入出力
を勉強すればできるよ。
161774ワット発電中さん:2009/11/20(金) 02:34:37 ID:q6s76T9S
>>154 まず1000で割ると上と下それぞれ3桁が得られるでしょ。
そのそれぞれを100で割るのは16bit演算でできる。そうしてできた00〜99の数値を
"00"〜"99"の表を引く。これで割り算が3回に減らせる。
ldivとdiv関数使えば商と剰余を一度に得られるし。
162161:2009/11/20(金) 02:41:58 ID:q6s76T9S
まあ、俺もみんなの言うように生で送る手法のが情報が圧縮できてイイとは思うけど。
固定桁がイイなら、HEXで送るとかは? sprintfが間に合わないなら、"00"〜"FF"の
表をバイトで引けばイイし。HEXから十進数へは後でエクセルでも直せる。
163161:2009/11/20(金) 02:52:54 ID:q6s76T9S
6桁,6桁CRLFなら送信時間は確かに間に合うが、20bitは10進6桁に収まらないじゃん。
16進で6桁必要だ。運用上10進6桁と判っているならいいが。10進8桁必要なら
161の手法で/10000と/100を使えば割り算3回ね。
164774ワット発電中さん:2009/11/20(金) 04:43:42 ID:5Pj6OspK
テキストとして送りたいだけならニブル毎に16進にするのがいいと思うけどね。
テーブル引きや割り算なんて不要になるし、生データに戻すときも楽。

>>154みたいな事をするぐらいならsprintfか、itoaがあるならそれで
一度バッファに文字列を作成してそれを送信する。
20bitは((1<<20)-1)までの範囲。
10進の場合1048575までの7桁、それが2セットなら14バイト。
16進の場合fffffまでの5桁、それが2セットなら10バイト。

UARTで送る場合start、stop等の冗長ビットが必ず付くから
どう送るのかは確認した方がいい。8n1と仮定して
115200bps / (8+2)bit / 1000ms * 2 = 23(文字)
2msごとに23文字までは間に合う。
1bit増えると20文字まで減ったりする。
165774ワット発電中さん:2009/11/20(金) 10:16:27 ID:MoHXJ0cl
>>159
ターミナルでPRINTFって何?
PRINTFって、送り側の命令じゃないの?

166774ワット発電中さん:2009/11/20(金) 11:06:54 ID:yDItESXB
>>154
割り算は以外に遅かったりする。
まあクロック数えてないんでこれが速いかわからんが。

char *ore_itoa(int val) {
 static const int digit[]={100000,10000,1000,100,10,1};
 static char ret[7];
 int i;
 for (i = 0; i< 6; i++) {
  char d = '0';
  while(val >= digit[i]) {
   val -= digit[i];
   d++;
  }
  ret[i] = d;
 }
 ret[i] = '\0';
 return ret;
}

167774ワット発電中さん:2009/11/20(金) 14:00:15 ID:ZKzxYOSt
>>165
ターミナルも自分で作るんでしょ?
168774ワット発電中さん:2009/11/20(金) 15:39:27 ID:+ClAs7/p
>>157 >>158 >>165
組み込みでprintf使ってる奴って初めて見た
ウチの会社では使用禁止
169774ワット発電中さん:2009/11/20(金) 15:54:15 ID:CccjsWjH
>>168
 自作の簡易printfのことだと思いたい
170774ワット発電中さん:2009/11/20(金) 16:51:45 ID:OCkt+ePB
154です。
みなさん、ありがとうございました。勉強になりました。
割り算を減らすのが味噌みたいですね。

それで、みなさんのお話を参考に、初めて作ってみました。
・生データで送るのもありですが、文字列でやりたいと思いました。
・相手はPCのターミナルソフトで受け、Logでふぁいる生成して、そのあとで他に読み込ませるつもりです。
・16進数の文字で送るのがいいと思いましたが、やり方がわからなかったので、1000で割って100で割って・・・です。
・20bitデータはまちがいでした。20bitADの下2bitは捨てていて、18bitデータでした。すみません。
ひとまず、それなりの出力は得られましたので、今から実際に組み込んでみて時間に間に合うか見てみます。
ありがとうございました。
また報告します。
>>160
>生バイナリで送ってテキストに保存
ターミナルのlog機能でbinaryも記録できるのでしょうか?
binaryを受けると、音がしたり、画面がくちゃくちゃになるので、
binaryは受けられないと思っています。
画面はくちゃくちゃでも、logファイルにはちゃんと入ってるよ、ということなら、
すごくうれしいです。
最後の[EOF]はデータとどのように区別するのかが興味があります。
171774ワット発電中さん:2009/11/20(金) 16:55:29 ID:OCkt+ePB
154です。試しに作ったソースを貼ります。ポインターは難しくてわからないので、配列にしました。

void main(void){
  const unsigned char dd[200] = { "000102030405060708091011・・・9293949596979899" };  // 0〜99

  unsigned long int Li1, Li2;        // 送信したいデータ1, 2 (Li=Long intの略)
  unsigned int i1,i2;            // 途中変数        (i=int)
  unsigned char c1,c2,c3,c4;         // 切り出された数値    (c=char)
  
  unsigned char txd[13];          // 送信用の文字列buffer。これが答

  while(1){
    Li1=123456;              // 例として 数字1
    Li2=987654;              // 例として 数字2

    i1 = (unsigned int)(Li1 / 1000);  // 1000で割る
    i2 = (unsigned int)(Li1 % 1000);  // その余り
    c1 = (unsigned char)(i1 / 100);  // 100で割る
    c2 = (unsigned char)(i1 % 100);  // その余り
    c3 = (unsigned char)(i2 / 100);  // 100で割る
    c4 = (unsigned char)(i2 % 100);  // その余り

    c1 <<= 1;              // 配列が2文字毎になっているので2倍する
    c2 <<= 1;
    c3 <<= 1;
    c4 <<= 1;
                      // 送信用bufferの組み立て
    txd[ 0] = dd[c1+1];          // 最上位は1桁
    txd[ 1] = dd[c2 ];          // その下の桁は2桁 上側
    txd[ 2] = dd[c2+1];          // その下の桁は2桁 下側
    txd[ 3] = dd[c3+1];          // その次の桁は1桁
    txd[ 4] = dd[c4 ];          // その下の桁は2桁 上側
    txd[ 5] = dd[c4+1];          // その下の桁は2桁 下側
    txd[ 6] = ',';            // カンマ

    i1 = (unsigned int)(Li2 / 1000);
    i2 = (unsigned int)(Li2 % 1000);
    c1 = (unsigned char)(i1 / 100);
    c2 = (unsigned char)(i1 % 100);
    c3 = (unsigned char)(i2 / 100);
    c4 = (unsigned char)(i2 % 100);

    c1 <<= 1;
    c2 <<= 1;
    c3 <<= 1;
    c4 <<= 1;

    txd[ 7] = dd[c1+1];
    txd[ 8] = dd[c2 ];
    txd[ 9] = dd[c2+1];
    txd[10] = dd[c3+1];
    txd[11] = dd[c4 ];
    txd[12] = dd[c4+1];      // このあと送信終了割込が送信する。
  }
}

実行結果
123456,987654
123456,987654
172774ワット発電中さん:2009/11/20(金) 17:14:09 ID:OCkt+ePB
154です

実行時間を測定してみました。

 i1 = (unsigned int)(Li1 / 1000);  // 1000で割る
     から
 txd[12] = dd[c4+1];      // このあと送信終了割込が送信する
     までで

  116usでした。速いです。

  115200bps/10 *15文字 = 1.302ms ですので、うまくいきそうな雰囲気です。
173161:2009/11/20(金) 17:29:22 ID:q6s76T9S
>>154さん、161です。大勢のレスの中から私の手法を拾ってくださって嬉しいです。
私もH8 16bitクラスで、ダイヤルをくるくる回すのに追従して6桁の数値を表示する時に
苦労してあの手法にたどりつきました。 割り算が減るのが嬉しいでしょ(^o^)

ldiv div関数について学んでみてください。171のコードの、i1,i2をdiv_t構造体のquotとrem
にすれば、割り算1回で商と剰余が同時に求まるのですよ。ldivはそれをlongでやってくれる

次のレスで私の6桁editを貼ります。
174161:2009/11/20(金) 17:37:08 ID:q6s76T9S
void longedit(ulong l, short *dst) {    /* long edit ルーチン */
/*  input : l=long値、dst=編集先エリアのアドレス(ワード境界必須) */
  register ushort lswd;          /* 千〜1の桁  */
  ulong _ul_div_wd(ulong,ushort);
  ushort _ul_mod_wd(ulong,ushort);
/* 高速化のアイデアは、割り算を減らす工夫にある。
   longの割り算を1回、shortの割り算を1回で0〜99の断片を
   3個作り、100個の表引き(dec2b())で文字に変換する。
   レジスタの使い回しがドジだが割り算等本質的な部分は変わらない。 */
   *(dst ) = dec2b(_ul_div_wd(l,10000));  /* 上2桁をedit  */
   lswd = _ul_mod_wd(l,10000);       /* 下4桁を計算  */
   *(dst+1) = dec2b(lswd/100);       /* 千、百の桁edit */
   *(dst+2) = dec2b(lswd%100);       /* 十、1の桁edit  */
}
_ul_div_wd()は32bit÷16bitの商、_ul_mod_wd()は32bit÷16bitの剰余を返すASMルーチンです
DIVXU 引数のレジスタ32bit/16bit だけのルーチンですが、cでは32bit/32bitしかないので
役に立つルーチンです。
175161:2009/11/20(金) 17:38:27 ID:q6s76T9S
dec2bは00〜99の表引きだけのルーチンです。
176774ワット発電中さん:2009/11/20(金) 17:54:17 ID:PX2iHqd1
5桁HEXの方が圧倒的に早いのに。
177774ワット発電中さん:2009/11/20(金) 20:25:26 ID:WCUMEYZT
>174
よくわかんないんだけど、H8のCって
D = X / Y;
Q = X % Y;
を一つの除算命令にまとめてくんないの?
178774ワット発電中さん:2009/11/20(金) 21:11:00 ID:hUPPLNau
剰余なんてどれだけ重いかわかってんのか
179774ワット発電中さん:2009/11/20(金) 21:14:43 ID:hUPPLNau
>>154

おまえの使ってるコンパイラがリテラルによる除算が
ちゃーんと乗算に置き換えてくれてることと、
剰余の所用クロック確認したんだろな?
剰余を弥陀に4発並べて時間がかかるって?馬鹿かオマエは。
180774ワット発電中さん:2009/11/20(金) 21:25:38 ID:OCkt+ePB

154です

実行時間を測定してみました 2

  sprintf( dd, "%6lu,%6lu\r\n", long_int1, long_int2 );

  944usでした。対処したものに比べると、とても遅いです。
         中で一体何をしているんでしょうね。

  0.944ms + 1.3ms = 計2.34msとなり、他の仕事が全くできず、うまくありませんでした。

>>155
ありがとうございます。せっかくソースまでのせて頂いたのですが、
テストできそうにないです。ごめんなさい。
181774ワット発電中さん:2009/11/20(金) 21:53:05 ID:HONULwjL
>>177
H8がネイティブで持っている割り算命令は

「32Bit ÷ 16Bit → 商16bit、余り16Bit」

が最大。それ以上のビット数になると
シコシコと引き算とシフトをループさせるしかない。
182774ワット発電中さん:2009/11/20(金) 21:59:03 ID:SlmO6eOp
ごめん

ADが2chで20bitってどの型番?
183774ワット発電中さん:2009/11/20(金) 23:33:52 ID:lVv95S+x
>>180
printfを使うから遅くなる
184774ワット発電中さん:2009/11/20(金) 23:37:09 ID:WdiblTMd
ET2009に行ったら、AlteraのブースにFPGA用のH8が展示してあった。
185774ワット発電中さん:2009/11/20(金) 23:44:56 ID:L0mJDA28
>>182
よくわかりませんが、AD7なんとかだと思いました。
よくわかっていません。
186774ワット発電中さん:2009/11/20(金) 23:47:12 ID:L0mJDA28
>>179
日本語でお願いします。
「弥陀に4発」って意味がわかりません。
187774ワット発電中さん:2009/11/20(金) 23:57:57 ID:ZKzxYOSt
弥陀→あみだ→本当は数珠繋ぎと言いたい?
188774ワット発電中さん:2009/11/21(土) 00:00:51 ID:iPmQoKMu
よくわからんけど。
189774ワット発電中さん:2009/11/21(土) 05:00:33 ID:rmfrPQZK
ムダのタイプミス+変換見落とし に一票
190774ワット発電中さん:2009/11/21(土) 05:51:39 ID:hDlcr6mR
>>185
AD7ってポート番号じゃないかと。
H8のMCUの型番を聞いてると思う。
よくわからんのなら仕方がないが。
191774ワット発電中さん:2009/11/21(土) 11:04:19 ID:4e3doTtU
>>190
アナログデバイスの「AD77なんとか」です。
ちなみにH8のポート番号は先頭に「P」が付くです。
P10 P12 PA6 PJ2 とかです。

192774ワット発電中さん:2009/11/21(土) 15:05:59 ID:p0izeEwn
なんだか・・もうちょっと勉強した方が良いんじゃないかと思います
193774ワット発電中さん:2009/11/21(土) 16:47:04 ID:nIGrqGDJ
こうやって勉強するのもよいかと思います。
194まあどうでもいいけど:2009/11/21(土) 20:03:09 ID:bxVCnBmY
>191
AD7785ってとこか…
ということはボード設計したの別の人なんだ。
195774ワット発電中さん:2009/11/22(日) 09:04:59 ID:xOsVkgUs
パラレルって言ってるんだからAD変換ICだろJK
196774ワット発電中さん:2009/11/27(金) 11:34:20 ID:dKjD3v3H
R8Cの速度に失望した
プリフェッチに命令がたまるのにどんだけかかるんだよ
実行サイクル数にどれだけの意味があるのか
197774ワット発電中さん:2009/11/27(金) 13:24:33 ID:SCrMKtFR
>>196
分周(8分周)のまま使っているというオチでは、ないですよね
198774ワット発電中さん:2009/11/27(金) 13:41:41 ID:dKjD3v3H
>>197
それは最初に気がついた
でも分周なしにしてもやたら遅いんでソフトウェアマニュアル読んでたら
プリフェッチが一クロック一バイト!!なんじゃこりゃと
199774ワット発電中さん:2009/11/28(土) 11:18:25 ID:37pMB89d
バス8ビットだからな
200774ワット発電中さん:2009/11/28(土) 13:59:21 ID:MdEvNY4n
8088とかのノリっしょ?
201774ワット発電中さん:2009/11/29(日) 05:29:13 ID:NHHQnE22
面白そうだったので命令セット覗いてみた。80xx系は LD/ST だけど、こっちは MOV
使ってるから、なんかNECの石とも似てた。クロックは20Mにできても8bitなんだから
しょうがないよ。
202774ワット発電中さん:2009/11/29(日) 08:26:01 ID:dWknqZo5
RXもそうだけど、ルネサスになってから出てきたCPUは三菱系な命令セットなんだよねえ。

日立の方つうか68Kに慣れてるといまいち馴染めん。

203774ワット発電中さん:2009/11/29(日) 12:51:40 ID:Ca0iWFRb
SH7266サンプル出荷2010年2月
204774ワット発電中さん:2009/12/02(水) 01:08:39 ID:nWQaVXVL
H8で、RS232の送信で、教えてください。

現在、RS232の送信部分をバックグラウンドで行おうと考えています。
その方法は、
1. 200文字くらいの送信bufferを用意する。
  プログラム各所で、そのbufferの最後に、送信したい文字を追加書き込みしていきます。

このあとの送信処理を2通り考えています。
2-1. 送信終了割り込みを使用する方法
   bufferの読み出し/書き込みのポインタが違っていたら、未送信文字があると判断して
   送信終了割り込みをonにして、未送信の先頭1文字を送ります。
   すると送信終了割り込みが入り、もし続きがあればそれを送信、
   もし残りがなくなったら、送信終了割り込みをoffにする。
2-2 メインルーチンに、2-1と同じような処理をベタで書き、(割り込み使わない)
   処理する。

なぜ2つ考えたかというと、
2-1では、bufferに残りが多数あると、連続して割込が入ってしまい、
残数がなくなるまでメインなどの他の処理が滞ってしまう。
2-2の方法だと、送信が若干間欠にはなるものの、メインは留まらないように
作ってあるので、メイン等の処理→1文字送信メイン等の処理→・・・
が繰り返されると考えたからです。

質問です。
上記の理由で、2-2のほうが良いと考えたのですが、
そうすると、送信終了割り込みの使い道が??になってしまいます。
なので、私の考え方がNGなのか?とも考えています。

2-1,2-2の方法も含めて、私のこのような考え方は変でしょうか?
205774ワット発電中さん:2009/12/02(水) 03:36:35 ID:E7xFlkd+
ふつう一文字送るのにそれなりに時間がかかるので、
連続して割り込みが入って他に何も出来ないなんてことはない。

φ/16でBRRが1とかいう極端な設定の場合は別だが。
206774ワット発電中さん:2009/12/02(水) 04:15:49 ID:iwtTfrxd
>>204 具体的なレートとclockを書いてくれればはっきりするのに。
例えば9600でclockが19.6608とかだったら、割り込みはほぼ1mSに1回でその間に
CPUは20000clock分のmain処理を実行できる。送信割り込み処理なんて50clock位
だから、送信の負担は1%未満。こんなふうに評価する。

送信の送り始めでは、送信レディ割り込みと送信機能ONをコマンドregに書くでしょ。
この時は送信終了割り込みはONにしない。
送信レディ割り込みでは、まだ送信文字が残っている間次の文字をTXDregに書く。
で、最後の文字を書いたら、送信レディ割り込みをmaskして、送信終了割り込みをON
にする。上の9600の例だと、この後2mS後に送信終了割り込みがかかるから、そこで
送信機能OFFと、送信終了割り込みOFFを実行して、1フレーム分の送信が完了する。
207774ワット発電中さん:2009/12/02(水) 04:20:08 ID:iwtTfrxd
__interrupt(vect=94) void txrdy1(void) {/* SCI1TXrdy int.  */
  SCI1.TDR = s1ring[c1s_rpt];      /* アンバッファリング   */
  SCI1.SSR.BIT.TDRE = 0;        /* TDRE clear    */
  c1s_rpt = (_UWORD)((c1s_rpt+1)&(sizeof s1ring-1)); /* リングポインタ更新  */
/*  SCRx:| TIE | RIE | TE | RE | 0 | TEIE | 0,0  */
  if( c1s_rpt==c1s_wpt ) {      /* 残り0なら      */
    SCI1.SCR.BYTE = 0x74;      /* TIE off, TEIE ON    */
/*    この後(約4mS後に)、TEND(トランスミットend)割込みが起きる。
    そのときにTE,TEIEをoffにする。それがこの下の処理。  */
  }
}
__interrupt(vect=95) void txend1(void) {/* SCI1 TXend int処理.  */
/*  最後の文字フレームのストップビットが出力され、シフトレジスタが空に
  なるとこの割込みが起きる。この時TE,TEIEをオフる。    */
  SCI1.SCR.BIT.TE = 0;        /* TE,TEIEオフ       */
  SCI1.SCR.BIT.TEIE = 0;
}  俺が使ってるTXrdy、TENDの割り込み処理。参考になれば。
208774ワット発電中さん:2009/12/02(水) 04:30:23 ID:iwtTfrxd
  _UBYTE s1ring[2048]; _UWORD c1s_wpt,c1s_rpt;; // ringバッファと、リード・ライトポインタ
void ch1puts(_UBYTE* srcp) {      /* 送信バッファ書き込みルーチン*/
  register _UWORD Rx=c1s_wpt;     // loop中はRegに持つ
  do {                /* サイズ回 loop    */
    s1ring[Rx] = *srcp++;      /* 1 キャラ put, srcp++  */
    Rx = (_UWORD)((Rx+1)&(sizeof s1ring-1));// カウンタ更新
  } while( *srcp );
  c1s_wpt = Rx;            // ringポインタ更新
  SCI1.SCR.BYTE = 0xF0;        /* TIE,TE ON  */
/*  この後、割込み処理でリングバッファからTXシフトレジスタに書き込む  */
}  こっちがtask側から使う送信開始ルーチン。null止め文字列を渡すという想定。
へうで作るんだよね? interrupt.cに書かれてる割り込み処理からここに書いた関数を
呼び出すようにするとコールオーバーヘッドがもったいないから、interrupt.cの該当vectの
関数はコメントアウトして、自分のドライバ.cファイルに(俺の場合uart.c)このようにvectを
書けばいい。 リード・ライトポインタだけで、滞留バイト数は不要なのも2chで教えてもらった。
209774ワット発電中さん:2009/12/02(水) 04:41:19 ID:iwtTfrxd
この手法は十分デバックされ尽くして何度も使い回しているから、今ではパツイチで動く。
送信終了割り込みの使い方を知らない人が書いたコードを保守したこともあるが、

// 最後のバイトを書いた所で送信機能をオフにすると最後の2文字が出ない。
// 仕方ないので1mS単位のソフトタイマを設け、最後のバイトを書いたときそれを4にして、
// そのタイマが0になったときに送信機能をオフにする。
なんて書き方をしてあった(w 割り込みを使えばこの辺がスマートに解決できるわけ。
長文すいませんでした。
210追伸:2009/12/02(水) 04:45:29 ID:iwtTfrxd
あまりないと思うけど、バイナリ00hを含むフレームを送信したい場合のみ、208を
ch1puts(_UBYTE* srcp, _UWORD len) { のような渡し方にして、len回loopさせる。
俺は入り口名を別にして両方設けてある。
211うるさくてごめん:2009/12/02(水) 04:59:19 ID:iwtTfrxd
H8の小さい方で、内蔵メモリが少なければ、ringバッファを[256]にしてリード・ライトポインタを
BYTEにすれば、更に処理は軽くなる。 余裕があるなら、滞留数を気にせず送信関数を
コールできるために、1回に発生する送信フレーム("hellow・・・\r\n"とか)の2倍に近い
ringサイズにしておくといい。まあ、何秒に何回こんなフレームが発生するからピーク滞留数は
これくらい、という評価は事前に必要だけど。極端な例で、ring[256]で128バイトの文字列を
208に渡すと、2度目はぎりぎりセーフ。1度目のコールの後、割り込み処理で最初の2文字は
取り出されてTXDregとTXシフトregにあるから、2度目のコール完了後の滞留数は254になる。
212うるさくてごめん:2009/12/02(水) 05:10:42 ID:iwtTfrxd
>>204の2-2のデメリット:if( バッファに残りバイトがあり && SCIステータスregのTIフラグがON ) {
のとき次のバイトをTXDに書き込む; という書き方をするんだよね? この判定の頻度が
もの凄く多くなって、その殆どはFalseになるから、無駄なオーバーヘッドになる。
割り込み機能は、それを 「必要なとき」 だけに刈り込んでくれるわけだから。

オーバーヘッド以外にも、SCI.xxxのような特定のデバイスへの参照は 「ドライバ層」
のモジュール(xxxxx.cのファイルね)に隔離したほうが、リーダビリティや、モジュール強度
の点からも良いプログラム手法になる。
213774ワット発電中さん:2009/12/02(水) 10:30:12 ID:fakrW2Dw
うわあ、さっそくありがとうございました。

通信レートを書かなくてすみませんでした。
115200 の 16MHzです
送信データは、2.56mS毎に必ず発生します。

その他の割り込みは、IRQを4本、受信割り込み二本、タイマー割り込み二本です。

214774ワット発電中さん:2009/12/02(水) 11:41:33 ID:Y77lGLA2
115200ってことは、1byteが100us
16MHzってことは1クロック0.0625us
単純に3クロック1命令とか計算しても500命令
周期の余裕をみて1/3に納めても166命令
215774ワット発電中さん:2009/12/02(水) 11:42:02 ID:E7xFlkd+
そりゃ結構厳しい条件ですな。

無理しないでメインループでポーリングした方がいいと思う。
216774ワット発電中さん:2009/12/02(水) 14:53:57 ID:RSForRWh
東芝の「ベクトルエンジン」みたいなの、ルネでも出ないかな。
あれ誰か使ったことある人いる?
217212:2009/12/02(水) 18:24:51 ID:iwtTfrxd
お、話が進んでる。確かにその位の条件になったら、212のFalseの比率が有意に下がるので
mainで(不本意ながら)そういう処理を書くことも考えられる。でもそれって=敗戦処理なのだ
1クラス上のCPUを選ぶという選択が正しいと思うよ。そのH8に俺の書いた体系を実行
させれば、最大効率+処理能力の余裕 が得られる。・・・んだけど
218774ワット発電中さん:2009/12/02(水) 18:39:11 ID:Qk+se2c7
これだからCしか出来ない奴は(ry
219774ワット発電中さん:2009/12/02(水) 22:01:55 ID:jDpnuX9j
>>212
割り込みは応答時間が馬鹿にならないし、
他の割り込みが実行中なら、さらにそれだけ
待たされるわけだから、無駄なボーバーヘッドは
割り込みの方が大きくなるんだけど。
特にUARTの送信はボーレートを計算すれば
次の割り込み要因がONになるまでどれぐらいの
猶予があるかは見積もれるわけだし、
言い換えればタイミングが判っている処理を
割り込みで待つ必要はない。
むしろ空き時間を作りたいなら極力割り込みは
避けるべきだね。

と言ってみる。
220774ワット発電中さん:2009/12/02(水) 22:10:24 ID:gdSfHBSs
ボーバーヘッド
221774ワット発電中さん:2009/12/02(水) 22:31:22 ID:Gdqcdnr4
ボンバヘッ!
222774ワット発電中さん:2009/12/03(木) 01:00:48 ID:n1wexY7w
趣味でマイコンを始めようと思ってH8/3052Fの開発キットを購入したんだが、
最近はAVRやPSoCも人気があるようで…。

H8がAVRやPSoCよりも優れている点はないのでしょうか?
個人的には国産マイコンであるH8に、何らかの利点があってほしいのですが…。
223774ワット発電中さん:2009/12/03(木) 01:19:01 ID:IFDWjehh
気に入ってるから使う、それで十分じゃないか。
ちなみに俺は 78K と V850。
224774ワット発電中さん:2009/12/03(木) 01:57:50 ID:4MkTpdVV
>>222
主な利点
・32bitまでの汎用レジスタ
・アドレスが広い
・外部バスがある。DRAMとかが直結可能(3052の場合2MBまで)
・DMAがある
・DACがある
・ライタ不要
・情報が多い(ただし古い)

主な欠点
・SPI、I2Cがない(ソフトで書くと遅い上にI2Cとしては簡易的な物になる)
・フラッシュ書き込み回数が少ない(外部EEPROMとかで回避)
・IC単価が高い
・表面実装しかない
・2chスレが荒れ気味(gccとhew論争や基地外の1行レス等)
225774ワット発電中さん:2009/12/03(木) 02:52:24 ID:CQRSVPtB
昔はPICばっかり使ってたけど、最近はH8ばっかり。
メモリ多いし、処理は速いし。
プログラム組んでいて、何かしら安心感が違う。
好きだなぁ、H8。H8Sはさらに速くていい。
SHは使ったことないけど、そこまでいくならFPGA使うな。
226774ワット発電中さん:2009/12/03(木) 03:35:15 ID:P//54SVp
>・フラッシュ書き込み回数が少ない(外部EEPROMとかで回避)
これについては、開発用のボードで何度も書いて開発してゆき、
完成したSフォーマットファイルを
製品用のボードに焼くことで十分回避できると思います。
227774ワット発電中さん:2009/12/03(木) 22:02:45 ID:st8O4b4Z
内蔵FLASHは書き換えの多い不揮発なデータ領域にむかないでしょ
228774ワット発電中さん:2009/12/04(金) 02:21:36 ID:Xnkclfs9
H8メーリングリスト(終了したやつ)の内容を、
全部ダウンロードしたいのですが、
一発で全部ダウンロードってできますか?
1つ1つの発言を全部開いてCTRL+C, CTRL+Vを繰り返すということもできないので。
229774ワット発電中さん:2009/12/04(金) 06:51:02 ID:qfIWpPKo
wgetでも使え windows版もあるらしいぞ
230774ワット発電中さん:2009/12/04(金) 12:28:28 ID:QfMiLdxD
CPUにはいいけどPICみたいな使い捨て分野だと不利だよね

>>226
H8だとシミュレータもあるよね
俺トラ技のR8C練習してるけど、シミュレータのこと書いてなかったから無駄に書き換えしてたお
231774ワット発電中さん:2009/12/04(金) 23:06:44 ID:T7Ql8HoG
話がかみ合ってない気がする。

最近のチップだと、flashを丈夫に作っておいて
データ保存領域として動作中に書き換えてることを意識してる。
そうするとEEPROMなんかを外付けする必要が無くなるからね。
そういうことがH8だとできないってことでしょう。
232774ワット発電中さん:2009/12/05(土) 00:40:51 ID:zhUjJjjQ
そういう使い方で、ECC入れてエラー訂正すれば書き込み回数10倍にできまふ。
なんていうアプリケーションノートがあったような気がする。
233774ワット発電中さん:2009/12/05(土) 08:20:50 ID:cDDcHBTJ
国内メーカが公称値が少な目なのはワーストケースを考えて更にマージン
取るなどしているからで,実力値は相当高かったりするけどね
フラッシュで頻繁に書き換えが発生するならECC入れるなりCRCチェックして
代替処理するなりという細工は必要だろう。
もっとも,ECCもソフトだけでやるとちと面倒臭いけどね。
234774ワット発電中さん:2009/12/09(水) 13:10:50 ID:nLa+FP4P
教えてください。

H8のタイマー割り込みを使って、時計を作ったのですが、
時間が少しずれます。僕がいけないのでしょうか?

ズレは、12時間で2秒早いです。ストップウオッチの手計測なので誤差大ですが、
2秒は間違いなく、早いです。

水晶=18.432MHz GRA=18432 タイマ割込周期=1.0ms毎。

タイマー割込内で tim++;
mainで、timを時間、分、秒に分解して液晶に表示
というプログラムです。

タイマー割り込みで加算しているので、
プログラムのうまい下手は精度に関係しないと思っていますが、どうでしょうか。
235774ワット発電中さん:2009/12/09(水) 15:46:03 ID:gf/dmPgO
はい、あなたがいけないです。
236774ワット発電中さん:2009/12/09(水) 16:14:49 ID:nLa+FP4P
そうですか。ショボ〜ン。
237774ワット発電中さん:2009/12/09(水) 16:31:15 ID:YB/Ugbu8
それぐらいの誤差はあるんじゃないの?水晶ってそんなに正確なんかな?
テキトーですまんが、H8 って、割り込みの後、次の割り込み許可の操作とか
いらないんだっけか?その辺の処理が積み重なってるとか。
いい加減でゴメン。
238774ワット発電中さん:2009/12/09(水) 16:53:20 ID:TyMKnm3L
GRAを1引いてみそ。
239774ワット発電中さん:2009/12/09(水) 16:56:38 ID:5PbYlznp
>>234
どんな水晶を使っているかわからなけれど。
12時間で2秒のずれが全部水晶の誤差だとしても、
だいたい 50ppmだからそんなもん。
240774ワット発電中さん:2009/12/09(水) 16:57:22 ID:gf/dmPgO
それ、さらに周期が短くなって、ますますズレが大きくなるんでね?
241774ワット発電中さん:2009/12/09(水) 18:12:41 ID:IIV43797
http://windowsxp_sony.pasokoma.jp/9_298419.html
>通常のRTCの水晶発振子の誤差は、50ppm以内です。
>これを1日に換算すると、60*60*24*50/1000000=4.32(秒)となります。

12時間で2秒は許容範囲
ストップウォッチがずれてる可能性も
242774ワット発電中さん:2009/12/09(水) 18:27:07 ID:nLa+FP4P
みなさん、ありがとうございます。

>H8 って、割り込みの後、次の割り込み許可の操作とか
>いらないんだっけか?その辺の処理が積み重なってるとか。
もちろん次の割り込みの許可は必要ですが、
ハードのカウンタですので、次の割り込みが入るまでにそれを行えば、
大丈夫だと思います。

GRAを1個引いたら、さらに早くなると思います。
ていうか、もう目の前から物がなくなってしまったので、試せません。すみません。

50ppm、流石ですね。根拠に信憑性がありますね。

>ストップウォッチがずれてる可能性も
これは気づきませんでした。たしかにそうですね。

みなさん、どうもありがとうございました。
なんとか動いているみたいで、安心しました。ありがとう。
243774ワット発電中さん:2009/12/09(水) 20:01:48 ID:FaYt4P5s
>>238 でfaだと思う
早くなってるって事だから辻褄が通らないんだけど…

> 水晶=18.432MHz GRA=18432 タイマ割込周期=1.0ms毎。
この条件ならGRAの設定値は本来は「18431」でないといけないよ。

ハードウェアでカウンタを設計すれば分かるけど、カウンタの値は0から始まるから
周期は「上限の設定値+1」になる

上限の設定値を2とすると、カウンタの値の遷移は
0, 1, 2, 0, 1, 2, 0, 1, 2, ...
となるから、結果的にカウンタの周期は3サイクルになる
親切なマニュアルだと、「所望の周期-1」を設定しろと書いてある

>>242
>GRAを1個引いたら、さらに早くなると思います。
>ていうか、もう目の前から物がなくなってしまったので、試せません。すみません。

気になるから取り戻して確認しれ
確かに一般的な水晶の許容差が50ppmだからそんな物かもしれんが、何でも誤差で済ませては
エンジニアとしては負けだ
244774ワット発電中さん:2009/12/09(水) 20:15:52 ID:KvhfgRJd
まあ、+1した時に何ppm変化するか、やってみないと判らない様な奴は
エンジニアとは到底言えないけどな。
245774ワット発電中さん:2009/12/09(水) 20:25:21 ID:FaYt4P5s
書込む前に計算してみたんだけど、+1されてるとだいたい2秒と少し遅くなる
でも本人は、2秒「早い」って言ってるからね
246774ワット発電中さん:2009/12/09(水) 23:09:58 ID:ssIPqQLb
本来なら12時間で4秒ほど進むレベルの水晶だったのに、
設定ミスで誤差が相殺された。

という可能性はないの?
247774ワット発電中さん:2009/12/10(木) 03:57:08 ID:Na9SbRfK
天体の運行を元にした時計と水晶の時計とは違って当然なんじゃないの?
地球の回転だってばらつきはあるし、1年間の365.2422日だって近似値だし、それから
割り算した1秒がきっちり1000mSとはかぎらないでしょ。
248774ワット発電中さん:2009/12/10(木) 04:36:48 ID:I+UurQZ0
>>246
たかがカウンタの設定値を決めるのに「可能性」なんか持ち出すなよ。
理屈通りの値を設定すれば良いだけ。

>>247
小、中学校あたりから勉強しなおした方が良いかも。
249774ワット発電中さん:2009/12/10(木) 09:51:09 ID:fdyUtH6O
ちまたの時計は地球の自転エネルギーで時を刻んでいるのかーっ
というツッコミをしたくなるボケ方だな。
250774ワット発電中さん:2009/12/10(木) 13:17:08 ID:3gQsjmMq
コリオリ時計!
そういうのもあるのか!!
251774ワット発電中さん:2009/12/10(木) 13:45:50 ID:Ymq5uMhk
科学館にあったな。
252小学生:2009/12/10(木) 15:34:52 ID:Na9SbRfK
>>248-249 石のクロックと言うときの何Hzの元になる1秒は何から定義されているのですか?
私は「セシウム133 原子の基底状態の2つの超微細準位間の遷移に対応する放射の9 192 631 770 周期の継続時間」
だと想定しました。 しかし、人類の生活に用いられる時計は、天文の運行に即して進行する
「暦表時の1900年1月0日12時に対する太陽年の1/31 556 925.9747倍」 による1秒で運行
するように作られていました。(上の行のスペースは区切りを見やすくするためのコンマと同等)
(ゼンマイ時計の頃は人力による補正が必要でした。) コンピュータで時計をエミュレートする
時にこの2つの定義を検討せずに採用したことが根本原因だとおもいます。如何でしょうか?
253774ワット発電中さん:2009/12/10(木) 16:12:14 ID:CPhCGbl0
ツマンネ
254774ワット発電中さん:2009/12/10(木) 18:45:21 ID:fdyUtH6O
ちまたの時計は原子時計と同じ精度のクリスタルで時を刻んでいr……ツマンネ

そろそろスレ違いかな?
…水晶発振子スレなんか無いと思うけど。
255774ワット発電中さん:2009/12/10(木) 18:50:41 ID:I+UurQZ0
>>254
その辺の話ならスレチでは無くて板違い。
オカ板池
256774ワット発電中さん:2009/12/10(木) 20:37:10 ID:FTbu6sN5
>254 …水晶発振子スレなんか無いと思うけど。

これがあったりすんだけども。オカルトは無しにしてくれね。

水晶振動子&水晶発振器を鋭く語るスレ
ttp://science6.2ch.net/test/read.cgi/denki/1181316991/l50
257774ワット発電中さん:2009/12/10(木) 22:17:14 ID:X8l3QN5/
バリキャップで調整すればいいんだよ  メンセキメンセキ
258774ワット発電中さん:2009/12/10(木) 23:10:11 ID:x+dmwli+
B/Sぐらいちゃんと捏造できないと困るよ シャッチョさん
259774ワット発電中さん:2009/12/11(金) 10:10:19 ID:1jTGfOEF
>>256
あるのかYO!
探しておけば良かったな…しかし…語ることモスク内だろうと思ったけど、結構マトモに進行してるスレみたいね。
260774ワット発電中さん:2009/12/11(金) 10:17:50 ID:EXOfQ7E7
アッラーは偉大なり、とか語るんですね。
261774ワット発電中さん:2009/12/11(金) 13:22:38 ID:KzSVmg3H
>>259
デリケートなアナログ系デバイスの代表者だから、
語ることは山ほどあると思うけど

毎日同じ時間に、お祈りささげたり
262774ワット発電中さん:2009/12/13(日) 14:30:13 ID:GLjUJIcH
 H8 3052Hマイコンで,SPIを使ったSDカードへのアクセスをしようと考えています.
 使用しているコンパイラがBesttechnologyで配布されていたGCC Developpers Liteです.
 以前シリアル通信用のライブラリをいじった事があったので,同じようにChan様配布の
FatFSをライブラリ化しようと考えていたのですが難しくてなかなか進みません.
 どなたか,既にやられている方とか,資料などありましたらご教示いただけないでしょうか.
263774ワット発電中さん:2009/12/14(月) 10:07:40 ID:lVHuoOVS
トラ技1月号のH8は、ルネサスのフリーのコンパイラーHEWがあれば、開発できますか?
264tkana3:2009/12/16(水) 23:07:04 ID:wo2lmVtl
こんばんは。

初めて質問させていただきます。

H8/3048でちょっとしたものを作っています。

AKI-h8/3048をキットで購入し、サンプルプログラムMBTEST.MOT
を動かせました。

その後、F-ZTATを起動すると全く時間をカウントしないうちに「time
out error」となります。

これは、キャッシュみたいなのものが残っているのでしょうか。
以上よろしくお願いします
265262:2009/12/17(木) 00:09:09 ID:7/hNDWaA
>264
 F-ZTATを一旦終了させ、3048側の電源を入れなおして再度
やってもダメですか? 3048だと動作痛に書き込みモードへの
切り替えスイッチを操作するとCPUが故障する可能性もあります
のでご注意ください・


>262
 自分のですが、現状。Port9にSDカードを接続して(トラ技2008年1月号を
参考に)います。Port9の4ビットと5ビットは汎用入出力で使いたいのですが
どうやら、SCI関連のSCRレジスタ内でSCIの割り込み許可をすると、入出力に
使えないような感じです。SCIの割り込みを認めたうえで、Port9の4,5ビットを
汎用入出力として使うにはどうしたらいいのでしょう。開発はGccDevelopperLite
(BestTechnologuy配布)です。ヒントだけでもよいので、なにかご助言お願い
いたします
266tkana3:2009/12/17(木) 01:11:31 ID:5CqoLK1y
>265
   ありがとうございます。

>F-ZTATを一旦終了させ、3048側の電源を入れなおして再度

PCリブートしてもダメですね。
リブートしても、キャッシュみたいなものが残っていて
time out を例えば123秒とすると
    ↓
リブート後にも設定が123秒のまま残っていますので。

>やってもダメですか? 3048だと動作痛に書き込みモードへの
>切り替えスイッチを操作するとCPUが故障する可能性もあります

はい既に1つ壊しましたのでw
267774ワット発電中さん:2009/12/17(木) 03:30:30 ID:PGqCB46B
>>265 SCI1 SCI0 の、CKE1,0=0,0 にして使えば、P95,94を調歩同期のSCK入力としない、
という意味になるから、入出力ポートとして使えるはずですよ。 CPUのクロックが、分周
しやすい値になっている必要がありますけど。きっちり20Mとかだと分周してできたuartの
レートが近似値になっちゃいます。
268774ワット発電中さん:2009/12/17(木) 08:19:06 ID:LSI9CFQf
>264
秋月のテストプログラムは時間遅延の処理に単純なループ処理で
プログラミングしているのが原因でしょう。
秋にはタイマー割り込みまではできないようです。
269Tac Itow:2009/12/17(木) 08:26:06 ID:LSI9CFQf
>>265
共用IOピンは、いずれか一つのデバイスのみ使用するのが良いです。

270774ワット発電中さん:2009/12/17(木) 19:34:21 ID:cWnhDY60
とうとうNECと統合か・・・
使いにくくなるなぁ。
271774ワット発電中さん:2009/12/22(火) 17:07:54 ID:O4bK7TNl
H8Sの同じソフトを、ルネサスとライフボートのコンパイラに食わせて、LINK結果のROMサイズが
20995 bytes と、5732 bytes だったよ。 個々のモジュールの機械語はライフボートのほうが
僅かにおバカなんだが、最終結果のROMで4倍近い差がつくの。面白いね。
272774ワット発電中さん:2009/12/24(木) 01:04:40 ID:WWqXGuHJ
いくらなんでも違いすぎだろ。
要らんライブラリをリンクしてるんじゃないの?
273774ワット発電中さん:2009/12/24(木) 08:13:47 ID:i6qKCKr5
ライフボートのほうは整数型限定のprintfが付いてるけど、ルネサスのはフルセットのが
付いてくるの。実数の編集なんて10MHz程度の石じゃ使えないのに。
274774ワット発電中さん:2009/12/24(木) 10:01:50 ID:JOOop9wV
SHマイコンの勉強をしようと思ってるんですが、
皆さんデバッガーは何を使っておられますか?
調べた限りではE10A-USB、DR-01、XrossFinder等があるようですが、
オススメのやつとかあるでしょうか?
275774ワット発電中さん:2009/12/24(木) 10:05:23 ID:9q+l7YAT
つーか
printf()とかリンクしてるターゲットソフトの方がダサいと思う俺は老害?
276774ワット発電中さん:2009/12/25(金) 13:17:29 ID:G8wCQFwd
%dとか%xなんかに相当する編集コードは自分で書けば簡単だけど、c標準の扱いする
ほうが楽だし融通が効くでしょ。string末尾のnullとか。C++使うほどでかい石じゃないし。
277774ワット発電中さん:2009/12/25(金) 18:10:20 ID:oo8ylZNI
使い分け出来ればいいんじゃないの
278774ワット発電中さん:2009/12/25(金) 21:04:01 ID:YB40WXEk
printfは呼び出し時のスタックへのpush(レジスタ渡しできない)、
書式文字列の解析に時間的なコストが掛かるのと、
出力先によって異なる改行コードとかが問題になる。
必要なのはLFなのか、CRLFなのか。
さらに言えば書式文字列自体の空間的なコスト。
printfが許容できるならゴミみたいなもんだけど。
H8では時間的コストの方で使わないことが多い。
数字の桁揃えしたい時にたまに使うけど、後で別個の関数に直したりする。
279774ワット発電中さん:2009/12/25(金) 23:52:15 ID:Wf6DOT23
バイナリのサイズのコストもある
元ネタみたいにサイズを気にするケースで
わざわざprintf()使うのは筋が悪い
280774ワット発電中さん:2009/12/25(金) 23:56:07 ID:9Z/+5yuV
元ネタみたいにサイズを気にするケースで
わざわざprintf()が巨大なバイナリを吐く処理系を使うのは筋が悪い
281774ワット発電中さん:2009/12/26(土) 14:39:37 ID:vzYfEUYN
H8Sジャンクヤフオクに出品中wwwwうぇwwうぇwww

ttp://page18.auctions.yahoo.co.jp/jp/auction/w46541141

282774ワット発電中さん:2009/12/26(土) 17:10:51 ID:GjmZmHDw
>>281
通報しますた
283774ワット発電中さん:2009/12/29(火) 10:05:42 ID:lBQ6thQV
>>281
秋月ジャンク…売れたのか…
500円が4000円ってボリ杉だろ
284774ワット発電中さん:2009/12/29(火) 10:19:03 ID:uPcx6NK1
ちゃんと動くようにしてるから良いんじゃないの
285774ワット発電中さん:2009/12/29(火) 17:10:33 ID:daX7Zf1+

そうだね。ソフト入れて価値が上がっているから、いいよね。
286774ワット発電中さん:2009/12/29(火) 17:44:04 ID:DZJ1w606
>>283-286
 僅か数千円で新規にプログラム書く気になるか?
どう考えたらボリ過ぎになるんだ? 
287774ワット発電中さん:2009/12/29(火) 19:14:42 ID:IR7oxBsA
プログラムは使いまわしが利く
288774ワット発電中さん:2009/12/29(火) 22:07:54 ID:daX7Zf1+
>>287
それは関係ないと思うよ。
そこに至るまでの経費や手間がかかってる
289774ワット発電中さん:2009/12/29(火) 22:14:16 ID:S8+1yhp1
落札者が納得さえしていれば問題ない。
ボリ過ぎだろうがなんだろうが、押し売りしたわけでもないし。
290774ワット発電中さん:2009/12/30(水) 09:37:36 ID:VyTG297z
その通り
291774ワット発電中さん:2009/12/30(水) 14:58:18 ID:ubZNT9W3
そそそ、その通り。
292774ワット発電中さん:2010/01/01(金) 00:07:23 ID:bC8lMeB2

  新年 あけましておめでとうございます。

   今年も「ルネサスマイコン総合スレ」を、宜しくお願いします。

             2010年 元旦 1回目スレ立て本人
293774ワット発電中さん:2010/01/03(日) 13:24:04 ID:gGm0s7g5
H8S 2368,2378の、SCIの章、シリアルステータスレジスタの各STATUS-bitの説明に
また、フラグのクリアはビットクリア命令を使用してください。と書かれています。
これ、BCLR #6,@0xFFFFFF8C ならイイけど、MOV @80:8,reg BCLR #6,reg MOV reg,@8C:8
だと、ダメなのですか?

受信エラー処理のとき、MOV @8C:8,reg AND.B #87h,reg MOV reg,@8C:8 とかで、
4つのステータスbitをいっぺんにoffにしようと思ったのですが、BCLRで1bitずつしないと
ちゃんとoffれないってこと? それだとクリヤ条件(1を読んでから0を書く)とも矛盾しますよね?
どなたか体験した人いますか?
294774ワット発電中さん:2010/01/03(日) 14:52:46 ID:UA+y00/M
とにかく一回読んでから0書き込みすればリセットできたはず。
295293:2010/01/03(日) 17:58:01 ID:gGm0s7g5
ですよね〜。 したらあの註は何なんじゃいと思いまして。 私も過去のプロジェクトでは
LD mask STの方式でうまくいってたみたいなんですよ。
296774ワット発電中さん:2010/01/03(日) 22:15:17 ID:K3BAaqLY
ノンマスカブル割込のサービスルーチンの中でそのレジスタをいじる環境では
atomicなビットクリア命令を使わないと問題が出るよってくらいの意味だと思う
297293:2010/01/04(月) 03:54:14 ID:nl4ckptQ
おお!鋭い。私はImaskのほうだけ考えてました。H8SはEXRで割り込み制御を多重に
する使い方のほうが一般的ですものね。
298774ワット発電中さん:2010/01/05(火) 02:00:44 ID:ZJy+w/ZI
H8-MLの内容が欲しいんだけど、
まとめてダウンロードする方法はないでしょうか?
299774ワット発電中さん:2010/01/05(火) 03:23:44 ID:u+ygNqxZ
for ((no = 1; no <= 6120; no++)); do wget -O- ttp://www.exp.org/h8/ml/archive/cgi/view.cgi?message=$no|本文だけ取り出すてきとーなフィルタ > H8-ML_$no.txt; done

みたいな事すればいいんでないかい。
300774ワット発電中さん:2010/01/05(火) 23:02:57 ID:6E8Evz4j
AVRやPICに対するH8の利点として、IOポートが多いことが挙げられると思うんだ。

H8のIOポートをほぼ全て使用する電子工作とかないかな?
301774ワット発電中さん:2010/01/06(水) 00:18:18 ID:sv8qi2Ft
全部に LED でもつなげ。
302774ワット発電中さん:2010/01/06(水) 04:38:15 ID:Q70SMhGB
>>300
>H8のIOポートをほぼ全て使用する電子工作とかないかな?
簡単だよ。
外部バスモードで、メモリ、PIOをつなぐ。
これでアドレス16本、データ16本、CS、RD, WRの3本使用。
外バスにすると、CS兼用ピンは自動的に入力しか使えないので、放置。
P7やP9などの入力専用ピンにはスイッチ、AD入力として、消費。
LCDを8bitモードで動かせば、data8本、RS, RD, Eで11本の消費。
直前状態の保持に、EEPROMをSPIで接続、これで3本。
プログラム書き込みとデバッグ用にSCI0,SCI1を使用。4本消費。
LCDにはロータリーエンコーダが付き物。外部割り込みで取り込む、これで2本消費。
303774ワット発電中さん:2010/01/07(木) 03:04:22 ID:ZXPhSJrb
今月号のトラ技の特集の、H8SXをC言語で使いたいと思っています。
安くて良いCコンパイラは何がありますでしょうか?
やはり、日立のHEWでやるべきでしょうか?
304774ワット発電中さん:2010/01/07(木) 04:34:56 ID:2wxnBROX
gccって選択もある。使ってみたいなら、gdlで検索する。
305774ワット発電中さん:2010/01/07(木) 09:36:44 ID:G+QHfJXJ
>>303
逆に、HEWで困る理由って何?
256k超えるような巨大ファームでも作るつもり?
306774ワット発電中さん:2010/01/07(木) 22:15:36 ID:MqqXuHFS
HEW って太っ腹だよな。
V850 も 256KB に制限緩和してくれないかな。
307774ワット発電中さん:2010/01/08(金) 08:49:04 ID:LEql/8+E
トラ技増刊号のH8SXオシロ動画で
画面描画が秒単位で掛かってるのはどういう事かな。
フレームバッファ1画面しか持ってなくて
計算しながら書いてるにしても妙に遅い気が。
308774ワット発電中さん:2010/01/08(金) 11:26:43 ID:S3+9l/sx
256kBまでフリーなのはSHだな。H8系は64kBだったと思う。
それでも趣味では十分だろうね。
309774ワット発電中さん:2010/01/14(木) 06:19:01 ID:dYJdA0Uw
DIVXU.W R5,ER6 で、元の数がER6=1000000h、R5=100 だったりすると、商は16bitに
入りませんね。こういうとき答えはどうなるのですか?
310774ワット発電中さん:2010/01/14(木) 12:23:55 ID:7mRzMxNN
マニュアルに書いてあるとおりの結果になるのではないでしょうか。
311774ワット発電中さん:2010/01/14(木) 14:24:20 ID:dYJdA0Uw
ハードウェアマニュアルには、ER÷R→ER上余り、ER下商しか書いてないの。
312774ワット発電中さん:2010/01/14(木) 14:27:17 ID:zW9uDSgH
何かそういうフラグ立つんじゃね
と適当言ってみるテスト
313311:2010/01/14(木) 14:40:50 ID:dYJdA0Uw
あ、それで思い出した。フラグはNとZが立つと書いてあったから、正÷正でネガティブが
立ってたら、オーバーフローという判定はできるかも。
314774ワット発電中さん:2010/01/14(木) 15:33:04 ID:y0yflrpx
>>309
シミュレータで確認して、それから考えてみよう。
315311:2010/01/14(木) 16:28:58 ID:dYJdA0Uw
シミュレーターでは、結果がオーバーフローする時にはER6は変化しませんでした。
ということは、割られる数が変化しないということでオーバーフローのチェックにしないと
いけませんね。実際に使う場面では、割り算が成立するような数値を入れるように注意して
使うことが殆どなので、一般的に使えるルーチンにしてチェックを入れることはしません。
316774ワット発電中さん:2010/01/15(金) 01:06:59 ID:OyMx1yKE
>>311
プログラミングマニュアルの方に書いてある。

んで、それを信じるとシミュレータで試しても意味はないと思う。
317774ワット発電中さん:2010/01/15(金) 04:07:19 ID:CSZ106Yw
それを貼ってくれませんか?
318774ワット発電中さん:2010/01/15(金) 05:50:23 ID:OyMx1yKE
>>317
>なお、ゼロ除算またはオーバフローが発生した場合の結果は保証されません。

つうことで結果がどうなるかを気にした時点で負けなのです。
マニュアルの方にも事前にチェックしとけやと書いてありますです。
319774ワット発電中さん:2010/01/15(金) 08:47:41 ID:3Gtn1OGc
>>316
んだな。結果は保証されないと明記してあるなら、シミュレータと実機の結果が
異なっていてもアリだしな。
320317:2010/01/15(金) 12:36:10 ID:CSZ106Yw
ありがとうございます。やっちゃってからチェックしようという態度そのものがいけないのね。
321774ワット発電中さん:2010/01/15(金) 13:16:52 ID:/ljx9+xz
> 入りませんね。こういうとき答えはどうなるのですか?

ゼロ除算またはオーバフローが発生した場合の結果は保証されません。
322774ワット発電中さん:2010/01/15(金) 13:43:41 ID:3Gtn1OGc
>>320
それは問題ないと思うが、後の資料確認をサボったのがまずかった
323774ワット発電中さん:2010/01/16(土) 15:45:13 ID:7s95TZGl
uartの初期化(SMRとBRRの設定)の後、起動までに1bit文の時間待て、という制約は
何から来ているのでしょうね? 実際に待たずに起動して不具合に出会った人居ますか?
324774ワット発電中さん:2010/01/16(土) 18:50:14 ID:MdlInehL
ヒント:C
325774ワット発電中さん:2010/01/16(土) 19:43:46 ID:l1UZx1ul
>>323
HDLなんかで自分でUARTを書いてみれば分かるよ
326774ワット発電中さん:2010/01/16(土) 21:29:54 ID:4fTRD3Dc
ちょっと待て、というのはわかるけど、それが 1bit分の理由が知りたい人
327323:2010/01/17(日) 03:27:26 ID:z4GvVkIR
>>325 uartの制御は何度も書いてます。ふつうは製品なので、わざと違反して遊んだり
できないんですよ。 自分で考えたのは、
uartは起動したらステートマシンとして動作するが、単位クロックの切りのいい所から
始まらないと、startbitが正しく検出できないんじゃないか、とかですね。
他の人の考えも聞いてみたいと思ったもんで。
328774ワット発電中さん:2010/01/17(日) 03:30:23 ID:740vlB12
本当のところは設計に関与した人間にしかわからんのだから諦めるこった
ただ,自分でUARTを書いてみれば1ビット分は容認してもらった方が
楽だなと思えることはある。
329774ワット発電中さん:2010/01/17(日) 04:14:05 ID:z4GvVkIR
では諦めます。 JSR func BEQ xxxx みたいな構文をcで吐かせられませんかね?
計算結果のコンディションコードがreturn時に立ってるのに、funcから戻った所でまた
返値を検査するコードが出るのがシャクなんですよね。
330774ワット発電中さん:2010/01/17(日) 04:21:59 ID:740vlB12
Cを使わなければ良いだけでは?
331774ワット発電中さん:2010/01/17(日) 09:24:36 ID:J4ptD/RJ
>>327
UARTをHDLで書いてみたら?というのに対してUARTの制御を書いたことがある、
という返し方はかみあっていないと思うが、本人がそれでいいならいいか。

>>329
C にはコンディションコードの概念が無いのだから、そんなこと気にするのが変。
どうしてもというならそこだけアセンブリブロックで書けばいい。
ただし他人からは基地が意と思われる。
332774ワット発電中さん:2010/01/17(日) 09:28:49 ID:CfjFLUqs
効率を求めるならコンパイラなんか使わないほうがいい。

実際、コンパイラの吐いたアセンブラソースを見ると、
「なにそれ?ふざけてんの?」的なものがかなりある。

よく、「今時のコンパイラは並みの人間がアセンブラで
書くよりはるかに効率のいいコードを吐く」と言われるけど
それってどこの世界の話?って思ってしまう。

「Cで書いたほうがソースの可読性、保守性に優れている」
って言うんならわかるんだけどね。
「コンパイラの方が良質なコードを吐く」ってのには
いまだに賛同できない。
333774ワット発電中さん:2010/01/17(日) 09:36:21 ID:J4ptD/RJ
32-64bit RISCの世界じゃね?
334774ワット発電中さん:2010/01/17(日) 09:38:06 ID:CfjFLUqs
たとえばH8の場合、アセンブラで書けば
サブルーチンとのパラメータの受け渡しに
ER0〜ER6まで使えるのに、
Cで書くとわざわざスタック渡しにしてくれたりする。
335774ワット発電中さん:2010/01/17(日) 11:49:43 ID:jTUu3MSk
ここ登録いるんか…アプリケーションうんぬってなんだ
336774ワット発電中さん:2010/01/17(日) 13:04:56 ID:z4GvVkIR
eepmov.b で、R4L=0で始めたら256byte移動できますか?
337774ワット発電中さん:2010/01/17(日) 14:07:42 ID:9EZw+bdx
>>336
そういうありがちな疑問はマニュアルに答えが書いてあるから、
まずマニュアルを確認すれ。

338774ワット発電中さん:2010/01/17(日) 15:07:02 ID:86SILdFn
そりゃ再帰に対応するにはスタックに積むのが一番安全だからね。
レジスタにハメ込んでいったら、かなりマヌケなCコンパイラになっちゃうでしょ。
339336:2010/01/17(日) 15:41:24 ID:z4GvVkIR
>>337 実装がいいかげんだったら、そういう抜け道もあるかと思ったんですが、
シミュレータで試したところ、やはり実行前にもR4のチェックはやっているみたいです。
移動サイズはbyteで1〜255、wordで1〜65535でした。
340774ワット発電中さん:2010/01/17(日) 22:35:57 ID:CfjFLUqs
>>338
明らかに再帰なんかしていない、それどころか他のルーチンを
一切呼んでいない末端ルーチンならレジスタ渡しでいいだろ。

その程度のプログラム構造の解析をしていないコンパイラは
手抜きと言われてもしかたあるまい。
341774ワット発電中さん:2010/01/17(日) 22:53:48 ID:CFRxrhTn
一般に、リンクするまで再帰されるかどうか決定できないんだから
.objファイルには再帰に対応できるコードを出すのが常識だろ
342774ワット発電中さん:2010/01/17(日) 23:17:49 ID:CfjFLUqs
>>341
>一般に、リンクするまで再帰されるかどうか決定できないんだから

だ・か・ら、そこがコンパイラの弱点なわけ。
人間がアセンブラで書いたらそんなの最初っからわかる。

俺はコンパイラそのものは否定しないよ。
>>332でも書いたとおり、ソースの可読性や保守性は勝る。


それにしても、FPGA用のVHDLコンパイラなんかは、
階層間をまたがる最適化を徹底的にやっている
(同じ値を持つフリッププロップは徹底的に同一化される)
のに、ソフトのコンパイラはなんで関数の階層をまたがる
最適化をしないんだろうね?
343774ワット発電中さん:2010/01/18(月) 00:11:45 ID:j3kJNk59
>340,341
leaf function 最適化でぐぐれ。今時は普通にやってるはずだが。
344774ワット発電中さん:2010/01/18(月) 01:30:34 ID:LlHqu5An
GNUや日立の評価版に過剰な期待をするなって話だろ
ゴリゴリに最適化を求めるならコンパイラにも金を出しなよと
345774ワット発電中さん:2010/01/18(月) 07:33:04 ID:WlQl5fng
leaf functionはgccでも普通にやっている。ただ,H8/SHへの
ポーティングでどうなっているのかは知らん。
ただ,こいつをやられると後からアセンブラで書いたプログラムから
Cの関数を呼び出すときにハマりそうだけどな。
346774ワット発電中さん:2010/01/19(火) 16:34:52 ID:lYcT0THi
H8S/2368,2378シリーズのマニュアル読んでいて思ったんですけど、
なんで使えないノーマルモードのベクタとかアドレス空間とかわざわざ書くんでしょうね。
素直にlongのベクタと16MBのアドレス空間だけ書いてくれればいいのに、
使えません、って断ってshortのベクタと64KBのアドレス空間をページ確保して
記述するのはノイズ以外の何者でもないような。
347774ワット発電中さん:2010/01/21(木) 10:58:27 ID:Cou8UM6u
h8sxも
348774ワット発電中さん:2010/01/21(木) 13:44:21 ID:wZqJfY8a
かといって品種ごとに微妙に違うつうのも地雷埋まってそうで嫌だ。
349774ワット発電中さん:2010/01/21(木) 17:36:03 ID:Cou8UM6u
H8SX のブロック転送命令における制限事項
ってのがある。
gccだとpeephole2を使うと回避できた。
350774ワット発電中さん:2010/01/26(火) 03:44:18 ID:j0f4sRoT
質問です。

H8SをC言語でプログラムしています。
うまく動かなくて、今日半日も悩んでしまいました。
「なんでそんなことするの?」という疑問が湧きました。
H8/3048ではそんなこと無かったんですが。

1 ポートアクセスの変数が入出力で異なっていた。
  出力のとき P1.DR.BIT.B0 = 1;
  入力のとき a = P1.PORT.BIT.B0;
 なんで、こんな面倒なことするのでしょうか。

2 周辺モジュールの電源が、デフォルトoffになっている。
  使うときに、onにする必要がある。
  デフォルトonでいいと思うのですが、なんでデフォルトoffなんでしょうか?

今考えてもムカムカ、イライラしてきます。もう忘れないと思いますけど。
351774ワット発電中さん:2010/01/26(火) 03:47:26 ID:j0f4sRoT
書き忘れました。
上記の1の場合、P1.DR.BYTE |= 0x24とかやったとき、
PORTとDRでレジスタ(番地)が別だとすると、
リードモディファイライトは正しくできるのでしょうか?
そんなことするなら、はじめから1つのDRだけでI/Oできるようにしておけばいいのに。
と思いました。
352774ワット発電中さん:2010/01/26(火) 07:11:54 ID:XeHS9662
前に同じこと聞いてた人がいたな
353774ワット発電中さん:2010/01/26(火) 10:47:26 ID:NBr/nFLK
>>352
あんときはポートのレジスタ分離だけじゃなかったっけ?

しかし電子回路を少しでも知っていれば出ない疑問な気もするなあ。
んー。日立製じゃなくても外部機能がOFFから始まらないマイコンってあるのかな?
354774ワット発電中さん:2010/01/26(火) 14:00:56 ID:8Jo7XG6X
>>350
これだからCしか出来ない奴は…
355774ワット発電中さん:2010/01/26(火) 20:16:08 ID:YPuSjNhY
>>353
>外部機能がOFFから始まらないマイコンってあるのかな?
外部機能って何のこと?

>>350の2つの疑問は、H8/3048をやってから、H8Sをやると、ビックリするよ。
3048などは、入出力ともにxx.DR.BIT.Bxでいけるし、
UARTやDAなどは、始めから電源onのままだよ。

で、Cとかアセンブラとかには関係ないよね? >>354
356774ワット発電中さん:2010/01/26(火) 21:06:54 ID:pAcx77Du
>>355
内部モジュールって単語が出てこなかった。>外部機能
CPU+周辺っていう8ビット機のイメージで居るから…。
まあともかく、普通無効から始まるよね?っていう。
機能無効とユニット全体無効(OFF?)が分離してるかどうかはさておき。

設計思想が共通じゃないと困るってのはあるけど、H8とH8Sは世代もモノも違…うよね?

で。
アセンブラだとマイコンの設計思想が判ってないと使えないとか言いたいのでなかろか。
どっちかってとアセンブラってよりマシン語だな。これ。
命令コードとレジスタの割り振りとかのコア設計の考え方がどうのっていう…。
357774ワット発電中さん:2010/01/26(火) 21:18:54 ID:8Jo7XG6X
>>355
Cしか出来ない奴って、データーシート読む癖がほとんんど無いんじゃ無いかな。
アーキテクチャが変わった所で隠蔽されて、初期化ルーチンなんて何処かからコピペするおまじないと思ってるんだろ。
それでも動いてしまう事もあるしね。
理解してプログラムしてるか、たまたま動いてるだけかの違いであって、アセンブラと対比したい訳じゃない。

単に、「Cしか出来ない奴」
もしくは、高級言語でも良いけど。
358774ワット発電中さん:2010/01/26(火) 21:53:00 ID:YPuSjNhY
いや、PORTとDRが別になっていてもいいけど、
3048のように一緒でもできるのに、なぜH8Sは別になっているのか、
その理由を知っていることが大事だと思う。
つまり、
H8/3048の頃は、○○なので、同じで良かったが、
H8Sの頃には、○○という理由で別々にした、あるいはせざるを得なかった。
だから、両者の間には○○という差があるので、使うときには注意が必要、とかね。
359774ワット発電中さん:2010/01/26(火) 22:58:38 ID:jmarbqPB
コピペして動けばOKとか、単にそいつがいい加減なだけ
360774ワット発電中さん:2010/01/26(火) 23:18:51 ID:vojIBfM5
入出力が分かれてた方が便利だからでしょ
入力だったポートを出力に切り替えたときに値が不定では困るし
361774ワット発電中さん:2010/01/26(火) 23:41:02 ID:hawXrJP5
なんのこっちゃ。切り替えるときに然るべきデータを出力すればいいやん。
362774ワット発電中さん:2010/01/27(水) 00:50:35 ID:nYkEUbc7
不定ではないな。
いままで入力で読めるレジスタだったなら、入力されてる値が入ってるわな。

同じレジスタで問題がある構成は…
入力から出力に切り替える直前に外側が不定(レジスタも不定)でありながら
出力に変えた瞬間にはもう不定ではダメとかいう構成の場合…少しは外側考えて作れ、という気もするほどアレだが。
363774ワット発電中さん:2010/01/27(水) 02:17:09 ID:M73qQf0u
なぜDRのみの方式と、DR/PORTの方式の2通りあるのか、俺も気になるなぁ。
あと、他のマイコンもどうなっているんだろうか。
364774ワット発電中さん:2010/01/27(水) 07:26:15 ID:SUKaQKWU
DR方式を理解出来ないで使ったところがあったんじゃないの
365774ワット発電中さん:2010/01/27(水) 11:27:40 ID:w73WG//G
>>363
78K0/Kx2とかサイトでマニュアル見られるね。
Cで書くときは式の左右どっちでもP1とかでいいけど
マニュアルには出力だけ転送レジスタが挟まってたりするねえ。
コンパイラが自動判断するんだろうか?
わりと脱線だな。
366774ワット発電中さん:2010/01/29(金) 02:07:52 ID:SRzoUSon
超初心者な質問をお許しください。
使用マイコン:R8C tiny シリーズ

while(1)
{
LED点灯
LED消灯
}

上記のような感じでプログラム最上層でループさせると0.5秒ほどで
LED点滅(実際にはほとんど点滅しているようにはみえませんが)が
止まってしまいます。(マイコンの動作が停止した?)
WDTは非動作なのに何で停止するのでしょうか?
367774ワット発電中さん:2010/01/29(金) 02:09:11 ID:SRzoUSon
あげさせてください。
368774ワット発電中さん:2010/01/29(金) 03:22:55 ID:p07IEaDc
点灯消灯の時間はどうやって作り出しているの?
369774ワット発電中さん:2010/01/29(金) 03:42:09 ID:SRzoUSon
時間は適当です。
実行時間分のみのパルス幅です。
点灯消灯はオシロで計測しています。
370774ワット発電中さん:2010/01/29(金) 03:53:22 ID:bMqu4++X
クロック設定してる?
俺トラ技の使ってたけど、PC接続時は設定しなくても最速(20MHz)?クロックなのに、スタンドアロンは設定しないと起動直後のクロック(15k?)になっちまう
371774ワット発電中さん:2010/01/29(金) 04:05:09 ID:SRzoUSon
クロックは設定済み、スタンドアロン使用です
372774ワット発電中さん:2010/01/29(金) 04:20:13 ID:AL5w5xlv
全ソースを晒したら
373774ワット発電中さん:2010/01/29(金) 06:18:36 ID:RCi065ur
もう1回実行したら最初は点くの?=LEDが切れたとかはない?
WDTがデフォで作動になってたりしない?
374774ワット発電中さん:2010/01/29(金) 06:59:02 ID:SRzoUSon
リセットかけて実行すると毎回、何回か点滅します。
LED切れは無いです。今日やってわからないときはソース晒しますので
アドバイスいただけると幸いです。よろしくお願いします。
375774ワット発電中さん:2010/01/29(金) 07:02:23 ID:SRzoUSon
>>373
WDTが設定されてたらリセットがかかって、プログラムの最初からやりなおすので
LED点滅が停止したりはしないですよね?
WDTにマイコン停止みたいなモードがあったりするのでしょうか?
376774ワット発電中さん:2010/01/29(金) 07:36:43 ID:8S2SkAL5
ちょっと躓いたからってすぐ他人を頼るようじゃ成長しない
基本に立ち返ってちゃんと検証するもんだ
377774ワット発電中さん:2010/01/29(金) 13:01:27 ID:RCi065ur
点灯と消灯が均されて薄暗く見えてるってことはない?
端子のレベルをオシロで見てオンオフを繰り返してればLEDがそういう特性だっただけで
プログラムは動作してることになるね。
378774ワット発電中さん:2010/01/29(金) 17:56:00 ID:5JsSbDOG
smalight
379774ワット発電中さん:2010/01/29(金) 21:39:33 ID:6802BCWf
ソース晒したほうが早いと思うんだけどな

まず、その while ループの中でWDTカウンタはちゃんとクリアされてるよね?
それから、カウンタがオーバーフローしたときの動作は割り込みかリセットか選べるけど、
ちゃんとリセットに設定してる?
割り込みにしてるなら、その処理を書かないとダメだよ
380774ワット発電中さん:2010/01/29(金) 21:53:47 ID:6802BCWf
↑はウォッチドッグを使っちゃってたらの話ね
381774ワット発電中さん:2010/01/29(金) 22:12:41 ID:M/7lsYjE
ウォッチドッグってなんでそう呼ばれているのでしょう
382774ワット発電中さん:2010/01/29(金) 22:17:21 ID:pwSMRkyk
番犬
383774ワット発電中さん:2010/01/29(金) 22:37:12 ID:ZhIJReLm
WDT以外だと、なにか割り込み生きてて、ベクタが設定されてなくて遠いところに旅立ってるとか。

さておき
リセット→ポート初期化まで点灯→ポート初期化で消灯→ループに入って高速明滅で点灯(のように見える)

この流れだ0.5secというのはどうか。
384774ワット発電中さん:2010/01/30(土) 04:01:42 ID:LuZeDJ5P
まっ,その手の現象でまず疑うのは電源とリセット信号
385774ワット発電中さん:2010/01/30(土) 04:25:34 ID:Xkhenw9b
割り込みフラグのクリア忘れってのは、どう?
386366:2010/01/30(土) 13:38:42 ID:1iqPBp6L
366です。アドバイスいただきありがとうございます。
いろいろ調べた結果、割り込みを禁止にしていると問題が発生しないことがわかりました。
割り込みを許可にすると割り込みがかかった瞬間にプログラムカウンタがクリアされ、
プログラム動作が停止しました。割り込み先のベクターテーブルはちゃんと設定しているつもりですが、
どう考えても割り込みのジャンプ先に問題がありそうです。いまだ解決にはいたっていませんが。
387774ワット発電中さん:2010/01/30(土) 14:36:30 ID:HHz3OMKg
どの割り込みを使ってるかもわかんないでやってるんだ
388774ワット発電中さん:2010/01/30(土) 16:45:38 ID:1iqPBp6L
一応使わない割り込みはマスクし、必要なものだけ設定しているのですが、
よくわかりません。あとは自分の力で頑張ってみます。
みなさまいろいろとありがとうございました。
389774ワット発電中さん:2010/01/31(日) 07:54:39 ID:RUVjMhRt
SPが二つあるんだけど、両方設定してるよね
390774ワット発電中さん:2010/01/31(日) 19:01:52 ID:zIO+WRl0
SPってなんですか?
391774ワット発電中さん:2010/01/31(日) 19:10:57 ID:RUVjMhRt
392774ワット発電中さん:2010/01/31(日) 20:46:45 ID:zIO+WRl0
スタックポインタのことだったんですね。
2つあるんですか!知らなかった。調べてみます。
393774ワット発電中さん:2010/02/02(火) 09:45:29 ID:9y1QeF9T
RX200って、いつの間にか32bitマイコンになっていると思ったのですが、実質ヤメなのかな
394774ワット発電中さん:2010/02/02(火) 10:13:16 ID:H2C7TBv8
ttp://gcc.gnu.org/viewcvs/trunk/gcc/config/rx/
ここまで金出しておいてヤメてことはないと思うけどねえ。
395774ワット発電中さん:2010/02/02(火) 10:36:43 ID:czUxIGP8
関係ないけど、gccはvolatileな変数だとbit命令を使わんからね
396774ワット発電中さん:2010/02/02(火) 11:50:53 ID:9y1QeF9T
>394
情報ありがとう。
rx.h rev.155677 のログをみると、このリビジョンで  RX200のCPUタイプが追加されてますね。
もともとは命令セットも違うものだったんじゃないかと思っていましたが。
たとえが悪いかもしれませんが、
M32C/80 ができて、 M16C/60が作られず、M16C/70止まりのような気がします。
397774ワット発電中さん:2010/02/03(水) 00:46:00 ID:C+O4LXoR
SHの入門として秋月のSH7144F開発ボード買おうと思っているのですが、SPIモジュールがないって本当ですか?
SDカードアクセスが楽にできないのはつらいなあと・・・
398774ワット発電中さん:2010/02/03(水) 22:07:30 ID:1aDzY0UE
>>397
ハードウェアマニュアル読めばいいんでね?
ググってみてもいいんでね?
ttp://bitcraft.web.fc2.com/embedded/sdcard/sh7144spi.html
399774ワット発電中さん:2010/02/11(木) 16:21:51 ID:I5BqFRX9
秋月のマイコン
AKI-H8/3664Fを使用しています

あるピンの状態でプログラムを切り替えることをしたいと思っております
例えば
7番ピンと8番ピンにトグルスイッチをつけ
プログラムの開始時に7,8番ピンがショートの状態であるなら関数Bを実行
ショート状態でないなら関数Aを実行という感じのものです

H8 3664 ピンの状態 外部入力などでググってみたのですが
プッシュスイッチを押した際に割り込みが行われるというようなものしか見つけられない状態でいます

あるピンがショート状態にあるかないかを判断するための検索ワードや
こうすれば良いのではというものがありましたら教えていただけないでしょうか?
よろしくお願いいたします
400774ワット発電中さん:2010/02/11(木) 16:25:32 ID:u9T6Nx+Z
ポートが0か1かで判断すればいいのでは
401774ワット発電中さん:2010/02/11(木) 16:49:46 ID:I5BqFRX9
ありがとうございます
入力設定にしピン2個をショートさせて状態が1になるか0になるか見ようと思います
402774ワット発電中さん:2010/02/11(木) 17:03:54 ID:szL/b+K2
7番ピンと8番ピンを繋げる理由がわからない。
403774ワット発電中さん:2010/02/11(木) 17:17:23 ID:aIvxQwi8
ある入力ピンをプルアップしておいて
そのピンとGNDとの間をスイッチで
OPEN/SHORT切り替えればいいんじゃね?
404774ワット発電中さん:2010/02/12(金) 10:05:55 ID:IhrwOQZE
ポートの構造そのものが判ってないレベル?
ttp://rur.mech.tuat.ac.jp/~h8_tech/switch.htm
405774ワット発電中さん:2010/02/12(金) 11:30:06 ID:Nzr8zQx1
ハードもソフトも?な、とんでも君?
406774ワット発電中さん:2010/02/12(金) 11:33:05 ID:ecVMlWuo
そりゃぁ検索しても出てこんわ
一個のスイッチを読み込むためにピンを2本も使うヤツは滅多にいない
「キーマトリクス」で検索してスイッチ一個だけ実装汁
407774ワット発電中さん:2010/02/12(金) 17:09:58 ID:edkY1RH3
>>403 >>404 >>405 >>406
そのレベルに当たると思います
今までは出力にして5Vを流してLEDが光るぜ!と遊んでいただけだったので
ポートの構造などを考えてもいませんでした、、、

教えていただいたURLや検索ワードで何か道が開けそうです
質問に答えていただきありがとうございました

408774ワット発電中さん:2010/02/12(金) 19:52:04 ID:LfX9MbvS
がんがれ!
409774ワット発電中さん:2010/02/12(金) 20:33:12 ID:NaTJbHsl
そのレベルでなんでマイコン買おうと思ったのか聞きたい
冷やかし半分、興味持つきっかけへの興味半分で
410774ワット発電中さん:2010/02/13(土) 05:41:21 ID:PYMDyulG
顧客の機器でそういう遊びを全てやってしまった俺はラッキーだったんだな。
411774ワット発電中さん:2010/02/13(土) 09:07:45 ID:qlWyuZyJ
R8Cの書き込みが少ないですけど、R8Cってどうなんですか?
412774ワット発電中さん:2010/02/13(土) 10:46:11 ID:fpjly9HB
工業高校の電気科の教師してますが、真空管の動作電圧って
ドコとドコの端子間の、信号ORバイアスの事か分かりません
。質問されて困ってます。

ちなみに、馬鹿にされて座学ははずされてますので。
最近では、実習すらあやしくなりそーですなw。
2ちゃんねるで馬鹿にされてしまうと、行き場がなくなり
しまいには生きていけいけなくなりますから、よろしく。
413774ワット発電中さん:2010/02/13(土) 12:19:39 ID:XGyBNAPy
>>411
ちっちゃくて使いやすいとは思うよ
ただ三菱系なので、H8とかに慣れてるとあれ?ってのがたまにある
情報も多くはないな
個人的には可愛いからおすすめなんだけど
414774ワット発電中さん:2010/02/13(土) 13:20:45 ID:PYMDyulG
>>413 キャリーの立つ条件が反対とかありますか?
415774ワット発電中さん:2010/02/13(土) 18:19:40 ID:yUBwxk48
>>412
ここはルネサス製マイコンの話をするためのスレ
誰も回答しないよ
416774ワット発電中さん:2010/02/13(土) 22:10:42 ID:xh6L4Btw
>>415
三菱系も統合された後のものだから、ライセンスはルネサスだと思うんだが?
てか、日立マイコンってなら違うのは判るが、ルネサスはソレも含めてルネサスじゃないの?
417774ワット発電中さん:2010/02/13(土) 22:11:53 ID:xh6L4Btw
あ。すまん、参照先が違ったわ。
>>411に対してかとオモタ。
忘れて。
418774ワット発電中さん:2010/02/13(土) 22:50:58 ID:nZQ+gl7K
>>417
ワカル。俺もそー思ったw

>>411
R8C良いよ。とても素直な設計だと思う。環境も良いし、資料は全部webで手に入る。
お勧めはオークス電子OAKS製品。デバッガのKD30最高。
419774ワット発電中さん:2010/02/16(火) 03:19:50 ID:ho0uA+qz
教えてください。
RS232のフォーマットの中に、stop bitというのがあります。
defaultが1bitで、「時間が稼ぎたいよぉ」というときに2bitを使うのは、わかります。
が、1.5 stop bitというのがあるらしいのですが、どんな時に使うのでしょうか?
単に1と2の中間ってことだけでしょうか?
420774ワット発電中さん:2010/02/16(火) 05:07:05 ID:SZ43h4AR
受信側は1bitにしておくのが基本。そうすれば2bitも1.5bitも受け取れる。
受信側の負担を和らげるために、送信側で2とか1.5にして時間を稼ぐ。
今の高性能マイコンではほとんど無意味だけど。
上記を実現するためには送信と受信で別のCHを使わなくてはならないが、
1つの機器と送受信するには1個のCHでやりたいのがふつうだから。
1つのCHで受信側と送信側でstopbitの長さを違う設定にできる石は、俺は知らない。
421774ワット発電中さん:2010/02/16(火) 06:31:16 ID:P1bX/B8v
連続でデータを送受するとき、ケーブルが外れたりとかで、おかしくなったときに
stop1bitだとデータが変になったりするけど
stop2bitだと化けることが少なくなる。
422774ワット発電中さん:2010/02/16(火) 07:18:42 ID:D1P1jECA
>>419
異常検出用。
ストップビット長チェックしておいて,規定の長さ分無かったら
異常と判断して再同期をかける。
試しに適当なデータ列を送った時の波形を描いてみて,
データの途中の'0'をスタートビットと勘違いしたとしてエラーが
起きるタイミングと回復動作を考えてみると良い.
423774ワット発電中さん:2010/02/16(火) 13:51:01 ID:gx7eOtBv
スゴイ。
1.5bitって、そういうことだったのか。
ちょっと感激。

なるほどぉ。
424774ワット発電中さん:2010/02/16(火) 14:05:04 ID:yK3Aliyp
たしか昔日立にクソ真面目なCPUがあって(64180だったかな)、
ストップ1bitにすると2bitで送信した場合に受信できないのがあったな
425774ワット発電中さん:2010/02/16(火) 14:17:54 ID:sTmUSHdS
>>424
それって送受信逆でフレーミングエラーになってただけじゃないか?
次のスタートビットはストップビット後にいつやって来るかは判らんのだし
426774ワット発電中さん:2010/02/16(火) 23:02:13 ID:mlN+ubZF
SHをサーバちっくに使ってて、今はARP、IP、ICMP、UDPまで実装したんだけど
TCP、httpをのっけたいんだけど、わけわかめ
参考となる本とかおすすめサイトを教えてえろいしと
427774ワット発電中さん:2010/02/16(火) 23:25:54 ID:8v5dmuVr
Linuxにしたほうがラクそうだな
428774ワット発電中さん:2010/02/16(火) 23:31:52 ID:PLdp+CjR
すげーな
429774ワット発電中さん:2010/02/16(火) 23:48:11 ID:mlN+ubZF
やっぱOSのっけるほうが早いっすか
コツコツと自力プロトコルスタック?を書いていたんすけど、tcpで完全に止まってしまったです
HOSとかlinuxとかMES辺りが候補としてあげられそうなので、そこらも含めてもちっと考えてみます
430774ワット発電中さん:2010/02/17(水) 04:41:00 ID:sAVPgPqH
tcpは状態遷移が難しいからね
431774ワット発電中さん:2010/02/17(水) 11:39:54 ID:Pm79c5T+
uIP とか使うのは?
432774ワット発電中さん:2010/02/17(水) 15:48:19 ID:jb5e3Y3r
>>429
OS載せるのは手っ取り早い面もあるが、無駄にマイコンがでかくなるから
気力があるなら自前がいいと思う。
俺はPICにアセンブラで実装したけど、一旦作ってしまえば
物理層を普通のシリアルにして、馬鹿ハブ相当のスター結線するだけで
DIPの小容量マイコン同士が通信出来るし、そのうちの一台にLANへのゲートウェイを設けて
携帯ブラウザから気温変化のLOGを見たりIOしたり自由自在。
今出先なので、あとで参考文献書くかも。
433774ワット発電中さん:2010/02/17(水) 16:00:10 ID:6kMgnNwe
すごすぎw
434774ワット発電中さん:2010/02/17(水) 18:15:53 ID:FTtjEo6Q
膣圧計に仕込んで擬似セクースは
435426:2010/02/17(水) 19:30:05 ID:lu3ZEoLF
今日は、軽くOSを調べてみました
けど、プロトコルとはなんぞや?ってことで、理解を深めるということが目的なので
自力実装を最後まで完遂してみようと思います。
その後にOSを載っけて、みたいと思います

>>432
参考文献を教えて頂ければ幸いです
436774ワット発電中さん:2010/02/17(水) 21:19:20 ID:b+mzVQxN
のちに、日本のリーナスと呼ばれる人の
記念すべき初めての投稿であった。
437774ワット発電中さん:2010/02/18(木) 05:08:07 ID:o9HZKKyH
昔はNE2000互換ボード使って実装してみる!なんていう特集も定期的に
組まれていたりしたんだけどね。

IPまで自力で実装できたならTCPはそれほど難しく無いと思うけどもな。
ISOの7階層モデルの概念だけさらっと読み流せば理解できるかなぁ
「イーサネット TCP/IP」なんてキーワードで探せばいろいろ出てくるんじゃないかいな

438774ワット発電中さん:2010/02/18(木) 07:19:53 ID:y7o2oKb0
>>437
釈迦に説法・・・
439774ワット発電中さん:2010/02/18(木) 11:33:52 ID:dn4Y22nH
参考文献というか、RFCは読んでるのかねえ
TCPで詰んでたらなんもできないでしょ
440774ワット発電中さん:2010/02/18(木) 18:55:04 ID:py8S7g/P
強者ばっかりなスレですねw
441774ワット発電中さん:2010/02/19(金) 08:33:27 ID:iqlsjNIq
すごすぎるw
442774ワット発電中さん:2010/02/19(金) 10:42:01 ID:svhuSBW5
向こうに飽きたのか…半端な
443774ワット発電中さん:2010/02/20(土) 04:30:12 ID:tZdc1l1t
>>438
「シェークにセット」でよろしいですかぁ?
444774ワット発電中さん:2010/02/23(火) 03:51:37 ID:4OIFYkQC
あと、コーラのSと、テリヤキチキンバーガー お願いします。
445774ワット発電中さん:2010/02/25(木) 02:53:20 ID:kxSjrOrd
H8マイコンを勉強し始めたのですが、早速躓いてしまい困っています。助言、アドバイスなどあればお願いします。

H8/3687を使って割り込み機能を試してみようとしているのですが、グローバル変数の操作がうまくいきません。

スイッチのオンオフでIRQ_1の割り込みを発生させてグローバル変数rgpに1を入れたのですが、割り込みからの復帰後、mainのループでrgpが0のままになっている状況です。
IRQ_1のfor文で割り込み発生後にrgpが1になっていることは確かめることができたのですが、main文に戻ると反映されません。始めはrgpがvolatileで宣言されていなかったのでこれが原因かと思ったのですが、修正しても変化ありませんでした。

ソースです。
ttp://loda.jp/okufa/?id=151
pass H8
446774ワット発電中さん:2010/02/25(木) 05:10:52 ID:nitvR3p6
割り込みベクタに関しては理解しているか? 0番地から数十ワードはいろいろな
割り込みに対応する関数のポインタを設定しておかなければいけないんだが、
貼られたコードではそういうベクタのうち、IRQ1と2のためのベクタがどうなっているか
判らない。あと、main loopが始まる前にset_imask_ccr((_UBYTE)1); で割り込み許可
してないと、SW操作で端子にエッジが入ってもCPUは割り込みを受け付けないぞ。
447続き:2010/02/25(木) 06:13:04 ID:nitvR3p6
開発環境にへうを使ってるなら、intprg.cというファイルが、割り込みベクタを解決する
ファイルだから、その中のIRQ1,2の所を、自分の割り込みルーチンを呼ぶように
直すといい。 コマンドラインでコンパイルしてるようなら、
#pragma memory=constseg(RESET)
    int reset[] = {0x7A07,0x00FF,0xC000};  /* MOV.L #0FFC000h,SP */
#pragma memory=constseg(VECTOR)
void (*const vector[])(void) = {  /* 割り込みベクタ部    */
// 無い割り込み(reserve)の箇所を(-1)にするのは、FFの書き込みが速いから。
    (void*)&reset,        /* 0 : reset vector  */
    (void*)(-1),        /* 1 : reserve    */
    (void*)(-1),        /* 2 : reserve    */
    (void*)(-1),        /* 3 : reserve    */
    (void*)(-1),        /* 4 : reserve    */
    nullint,          /* 5 : TRACE     */
    nullint,          /* 6 : Direct_Transition */
    ・・・ こんなコード書いて、VECTORというセクションをLINKで0番地に配置する。
448445:2010/02/25(木) 08:58:20 ID:5Nn5sqvc
HEWを使用しています。intprg.cの記述はこのようになっているのですが、正しく記述できていますか?

#include <machine.h>
//extern void int_irq0(void);
extern volatile void int_irq1(void);
extern volatile void int_irq2(void);
#pragma section IntPRG
// vector 1 Reserved
// vector 2 Reserved
// vector 3 Reserved
// vector 4 Reserved
// vector 5 Reserved
// vector 6 Reserved
// vector 7 NMI
__interrupt(vect=7) void INT_NMI(void) {/* sleep(); */}
// vector 8 TRAP #0
__interrupt(vect=8) void INT_TRAP0(void) {/* sleep(); */}
// vector 9 TRAP #1
__interrupt(vect=9) void INT_TRAP1(void) {/* sleep(); */}
// vector 10 TRAP #2
__interrupt(vect=10) void INT_TRAP2(void) {/* sleep(); */}
// vector 11 TRAP #3
__interrupt(vect=11) void INT_TRAP3(void) {/* sleep(); */}
// vector 12 Address break
__interrupt(vect=12) void INT_ABRK(void) {/* sleep(); */}
// vector 13 SLEEP
__interrupt(vect=13) void INT_SLEEP(void) {/* sleep(); */}
// vector 14 IRQ0
__interrupt(vect=14) void INT_IRQ0(void) {}//int_irq0();}
// vector 15 IRQ1
__interrupt(vect=15) void INT_IRQ1(void) {int_irq1();}
// vector 16 IRQ2
__interrupt(vect=16) void INT_IRQ2(void) {int_irq2();}
// vector 17 IRQ3
__interrupt(vect=17) void INT_IRQ3(void) {/* sleep(); */}
// vector 18 WKP
__interrupt(vect=18) void INT_WKP(void) {/* sleep(); */}
// vector 19 RTC
__interrupt(vect=19) void INT_RTC(void) {/* sleep(); */}
// vector 20 Reserved
// vector 21 Reserved
// vector 22 Timer V
__interrupt(vect=22) void INT_TimerV(void) {/* sleep(); */}
// vector 23 SCI3
__interrupt(vect=23) void INT_SCI3(void) {/* sleep(); */}
// vector 24 IIC2
__interrupt(vect=24) void INT_IIC2(void) {/* sleep(); */}
// vector 25 ADI
__interrupt(vect=25) void INT_ADI(void) {/* sleep(); */}
// vector 26 Timer Z0
__interrupt(vect=26) void INT_TimerZ0(void) {/* sleep(); */}
// vector 27 Timer Z1
__interrupt(vect=27) void INT_TimerZ1(void) {/* sleep(); */}
// vector 28 Reserved
// vector 29 Timer B1
__interrupt(vect=29) void INT_TimerB1(void) {/* sleep(); */}
// vector 30 Reserved
// vector 31 Reserved
// vector 32 SCI3_2
__interrupt(vect=32) void INT_SCI3_2(void) {/* sleep(); */}
449774ワット発電中さん:2010/02/25(木) 11:41:10 ID:Y+Fb2HZS
void INT_IRQ1( void )
{
int_irq1( );
}

こんな関数になってないか?
450774ワット発電中さん:2010/02/25(木) 11:44:57 ID:yqSmSOs1
グローバル変数の宣言に問題があるんじゃねーの?
割り込み関数ローカルになってるとか。
451774ワット発電中さん:2010/02/25(木) 11:56:58 ID:fkD8AI7n
// vector 15 IRQ1
//__interrupt(vect=15) void INT_IRQ1(void) {int_irq1();}
// vector 16 IRQ2
//__interrupt(vect=16) void INT_IRQ2(void) {int_irq2();}
// vector 17 IRQ3
コメントアウトしないと
452446:2010/02/25(木) 17:08:00 ID:nitvR3p6
>>448 intprgの中から自分のint_irq1,2を呼ぶように書いてあるのね。コール階層が
1段ムダになるけど、それは間違いではない。 449〜451はノイズだから気にしないで。

自分のコードに、これ↓を書くのが間違いだ。
#pragma interrupt(int_irq1)
#pragma interrupt(int_irq2)

これを書くと、その関数がRTEで終わるようにコンパイルされる。
でも、RTEで終わるのは、INT_IRQ1()とINT_IRQ2() で、小文字のほうはRTSで終わって
大文字の関数の中に戻らないといけない。

あと、ふつうは hwsetup.c で、内臓レジスタ類を初期化するよね。そのあと
main()に飛んでmain loopが始まるんだが、レジスタ類は全部デフォでいいか確認した?
そこまでクリヤできたなら、set_imask_ccr(1)で割り込みを取れるようになるはず。
453774ワット発電中さん:2010/02/25(木) 17:14:08 ID:Eqz8OJ12
今日発売のインターフェースによると、
2010年6月号にSH-2Aマイコン基板が付く。

クロック100MHzオーバー
RAM 1Mバイト

続報は5月号に掲載予定。

454446:2010/02/25(木) 17:19:53 ID:nitvR3p6
確認すべきこと:LINKMAPがdebugというフォルダに作られるので、それで
0番地から$VECTnnというセクションが並んでいる所の15,16番目を見る。
$VECT15=0020、$VECT16=0022番地だよね。MOTファイルの0020と0022
番地の中身がINT_IRQ1とINT_IRQ2のアドレスになっていることを確認。
デフォでLINKしたら08xx番地になってるとおもう。
INT_IRQ1の中身は、push R0〜R2 JSR int_irq1 pop R2〜R0 RTE で終わり。
int_irq1()は自分のlstで確認できるよね。 #pragmaを取り除き、関数がRTSで終わる
ことを確認する。

実用品などスマートなプログラムを作るときは、intprgの中の__interrupt (vect=nn)
の行ごとコメントアウトして、自分のプログラムに__interrupt(vect=nn) int_irq1(void) {
と書けば、$VECTnnは直接自分の関数をポイントするようになるし、関数もRTEで終わる
455774ワット発電中さん:2010/02/25(木) 17:34:24 ID:fkD8AI7n
hewは割り込み処理の書き方が変わったのね
456774ワット発電中さん:2010/02/25(木) 22:19:35 ID:+xMLIC94
>>453
Ram1MBも付く時代になったのか
ひょっとして、これプログラムonRAM CPUなんか
なら、ほとんどPCってイメージだな
457774ワット発電中さん:2010/02/25(木) 22:21:59 ID:817jaUWg
RAMにコード置くなんてH8モニタの頃からやってるだろ
458774ワット発電中さん:2010/02/25(木) 22:34:56 ID:zX5hgMBR
画面さえつければPC98より性能上に・・・
459774ワット発電中さん:2010/02/25(木) 22:52:14 ID:+xMLIC94
>>458
i686と同等性能らしい
で、SH-2Aの実行形式はリローケータブルのみ
内臓ブートローダーが自動的にloadデバイスを探して
プログラムをらむにloadしてくれるんだ

460774ワット発電中さん:2010/02/25(木) 22:53:03 ID:vKZkonf7
>>458
そんなPCもどきが見てみたい。
461774ワット発電中さん:2010/02/26(金) 00:43:38 ID:mi8sCT/q
>>458
SH-2Aクラスならソフトだけでビデオ信号出せるんじゃね?
(つーかPICで出来るんだから出来なきゃおかしい)
462774ワット発電中さん:2010/02/26(金) 00:51:23 ID:s+BUYKn6
ビデオ出力に貴重なリソースを減らされてはかなわんよ
463774ワット発電中さん:2010/02/26(金) 08:11:04 ID:tW3TVSOD
激しく吉田基板の余寒…>SH2A
人柱待ちやな
464446:2010/02/27(土) 05:56:55 ID:KK/GIasK
>>448 上に書いたことをクリヤしてもまだ動かなくて悩んでるかもしれないので。
hwsetupで、必ず設定すべきレジスタは幾つかあるとおもう。IRQxを使うなら、
「IRQの何番を許可する」 を指定するレジスタIENR1があったはず。割り込み機構の
説明の章に載っている。set_imask_ccr(1) の前にhwsetupの中でそれをsetしないと。
465774ワット発電中さん:2010/02/27(土) 16:51:04 ID:xs9febSH
>>463
吉田大師範以外ありえない
大師範はゆとりに現実を教える最高の師範
このような師範がいまの老いも若きも男も女もゆとりだらけの日本には必要
最近、JAL、トヨタ、五輪でゆとり特性激烈発揮中の日本
大師範があたえた課題を解決できないようじゃ適性無しだから別なことにしたほうが良い
466774ワット発電中さん:2010/02/27(土) 18:37:25 ID:I08cWZ+J
>>463>>465が荒らしなのかネタなのか分からない
467774ワット発電中さん:2010/02/27(土) 18:56:20 ID:e939TsUu
某誌によるとデバッグ用ビルドのみ使用とあるけど
最適化しないでリリースすんのかね?
468774ワット発電中さん:2010/02/27(土) 22:30:22 ID:njTVLrR/
マイコン&ソリューションセミナ行ったひといる?
RXとかSuperHのベンチマーク比較の相手が78K0とかV850ESってのも、、、
469774ワット発電中さん:2010/03/04(木) 21:14:20 ID:fPxL7m6t
すまん、どうしても解決できないから教えてほしい。

tiny35使ってるけどAD変換がおかしい。
ADの入力ポート切り替えの時に入れるウェイトって
for(i=9;i<10;i++)でいいんだろか。

値がやたらおかしい。回路が悪いのかなぁ。
でも電圧は正しく入力されてる様子。
470774ワット発電中さん:2010/03/04(木) 21:23:17 ID:fPxL7m6t
>>445
俺も最近ほかのマイコンからR8来たけど、基本同じ。

割り込みでコールする関数の関数名の前に
#pragma interrupt void hoge(void) (vect=xx)
void hoge(void)
{
NOP();
}

のように書く。Hew4の最新のR8Ctinyではこれでおk。
vectの後の番号に非常に意味があって、これは割り込み毎に決まってる。
この番号はデータシートを見るか、自動生成コードの番号を見る。

こうすると、この番号の割り込みが許可されると、
割り込み条件が整うとこの関数に飛んでくる。

自動生成コードの場所の関数はコメントアウトしておかないと
2箇所に関数ジャンプ先が作られてることでエラーになるので注意。

そういや、割り込み関数のプロトタイプ宣言のところに#pragmaつけておくと
実際の関数の先頭には不要なのかな??
471774ワット発電中さん:2010/03/04(木) 21:25:25 ID:fPxL7m6t
R8のデータシートはなぜ各機能のところに割り込み許可のレジスタを書かないのか謎。
普通割り込み使うから、機能別のレジスタ説明の場所に書くべきなのに
なぜか割り込み説明だけ固めてるせいで、読みにくくてかなわない。
472774ワット発電中さん:2010/03/04(木) 21:28:15 ID:Ig1eFltJ
>>469
for(i=9;i<10;i++)
これって何?
for(i=0;i<1;i++)
とはナニカ違うの?

あと切り替えないでのんびり採ってみてAD値はマトモだったの?
473774ワット発電中さん:2010/03/04(木) 21:54:48 ID:fPxL7m6t
>>472 for(i=0;i<10;i++); の間違いでした。

切り替え無しでは試してないけど、公式のコード通りに
ちゃんとやってるから問題無いはず。fADも2MHzにしたし。

474774ワット発電中さん:2010/03/04(木) 22:47:51 ID:U20/o5Ej
わりと凡ミスをやらかす俺的には、「コード通りにちゃんとやってる」で追求ヤメちゃうのはなかなかスゲエと思。
まあ俺がマヌケだから無駄な工数が発生するんだ、といわれればその通りだけどさ。
475774ワット発電中さん:2010/03/04(木) 22:55:19 ID:vB3FBBi8
volatile付けたか?
横着しないで信頼できる時間待ち関数くらい作れ
476774ワット発電中さん:2010/03/05(金) 01:02:43 ID:P5LdINHr
そんな意味の無いコードは最適化で消されてしまう可能性もある。
最適化禁止して、アセンブラコード調べてみな。
そして、一所懸命ステート数を勘定する…っと。
477774ワット発電中さん:2010/03/05(金) 03:55:43 ID:WEzDQGO2
切り替え後のA/D値は変な値が出ることがあるので、読み飛ばすのが正解かも
478774ワット発電中さん:2010/03/06(土) 08:43:54 ID:SrlV2Toc
>>472-477
解決した。GNDが浮いてた。ごめん。

でも1回読み飛ばすって久々に聞いた気がする。
2LSBくらい揺れるのが気になってるから試すかも。
479774ワット発電中さん:2010/03/06(土) 09:20:10 ID:Tuih8Epq
普通に入力ソースが汚い気がする。
480774ワット発電中さん:2010/03/06(土) 18:49:11 ID:MM5YQsND
A/D 変換器の停止方法に関する使用上の注意事項をご案内申し上げます
ttp://documentation.renesas.com/jpn/products/mpumcu/tu/tnh8a410aj.pdf
481774ワット発電中さん:2010/03/06(土) 18:59:24 ID:SrlV2Toc
>>480 うむサンクス

だけど使ってるのはR8Cなのと
ADSTビットはAD変換完了で0になるまで待ってるからそれはない。

おそらく >>479 の指摘通りだけど、手の出せない回路屋の仕事なんで
オーバーサンプリングで安定させるくらいしかない。
482774ワット発電中さん:2010/03/06(土) 22:02:19 ID:yVjx6icW
>>481
うちではADの移動平均とるのがデフォだな。
エンジンのそばとか、そーいうとこで動いてるからだけど。
483774ワット発電中さん:2010/03/06(土) 22:07:39 ID:SrlV2Toc
移動平均も異常な値には引っ張られるのでは?
それに真面目にやるとメモリを物凄い食う
484774ワット発電中さん:2010/03/06(土) 22:50:33 ID:esI32hgh
>>482
ナカーマ
485774ワット発電中さん:2010/03/07(日) 02:37:49 ID:ooGJj28t
僕は、移動平均でも、各世代の値に浮動小数点で係数を掛けてる。
世代毎の係数は、+もあれば-もある、変なの。-の係数では平均じゃない感じ。
486774ワット発電中さん:2010/03/07(日) 03:32:48 ID:hVXVX+S0
FIRフィルタみたいな
487774ワット発電中さん:2010/03/07(日) 20:32:06 ID:SW+zIiVu
>>483
うちの感覚だと、とりあえず、パルスや波に影響されなければいいって感じだな。
だいたい1〜5ms周期で、8〜32回分ぐらいの移動平均。ADのサンプル周期は使ってない。
いまんとこコレで問題でたことはないな。

どうしてもどうにもならないものは、ハード屋さんにオマカセよ。
488774ワット発電中さん:2010/03/07(日) 23:31:23 ID:FOgj1Ij+
トヨタの中の人はここにはいないな
489774ワット発電中さん:2010/03/07(日) 23:58:28 ID:lnyuCIS1
>>488
今忙しくて、2chなんか・・・・やれません
490774ワット発電中さん:2010/03/07(日) 23:59:54 ID:kYev3mBZ
もうやれるだけやったんだからヒマなんじゃね?
491774ワット発電中さん:2010/03/08(月) 01:53:46 ID:+15ubOR5
いや、今回の件でトヨタグループは、一丸となってゼロから出直すので、
4月からの仕事は超忙しいんじゃないの?
492774ワット発電中さん:2010/03/08(月) 12:25:07 ID:wKiwvIEP
r8使っているのですが書き込みはできても動きません。
秋月のボードに同じプログラムを書き込んだ場合は動くのですが。
なにか考えられるでしょうか。
493774ワット発電中さん:2010/03/08(月) 12:45:10 ID:WeRzgtGY
可能性は低いと思うけど、

  キ ミ の プ ロ グ ラ ム ミ ス だ
494774ワット発電中さん:2010/03/08(月) 14:14:08 ID:xhpctiO6
>>492
動かないのは何だ? 自作?
同じCPUに同じプログラムをいれて動く・動かないがあるなら
CPUの足を全部疑えばいいんでねかしら?
495774ワット発電中さん:2010/03/08(月) 14:45:19 ID:ac1WLPKB
>>492
秋月のボードって、発振子とかなんだとか載ってるの?
単独のR8Cにはそういうのを付けていないんじゃない?
496774ワット発電中さん:2010/03/09(火) 12:22:05 ID:kbPQnGeD
方角が悪い
497774ワット発電中さん:2010/03/09(火) 12:59:59 ID:4tlSsYI+
基板の北側には黄色い部品を・・・って風水師かよ!
498774ワット発電中さん:2010/03/09(火) 14:11:44 ID:m+lCmQ2r
違うよ。 西には黄色だね
499774ワット発電中さん:2010/03/10(水) 04:00:15 ID:c5Im4gxj
H8Sシリーズで、SYSCRで入力CLKを分周する機能がありますね。
入力の最低が8Mだから、もっと低いCLKで動作させたい時にこれを使うのでしょうが
私が想像できる理由は消費電力だけです。 他にどんな理由があり得るでしょうか?
500774ワット発電中さん:2010/03/10(水) 08:42:15 ID:wQGf7FR4
>>499
不要輻射の低減
501774ワット発電中さん:2010/03/10(水) 09:39:53 ID:gKYEU52M
>>499
消費電力が減るのは大きな利点じゃん。
電池で動く機器の設計したことないのか?
502774ワット発電中さん:2010/03/10(水) 12:53:58 ID:vd8qIOGx
教えてください。
Cでソフトを組む時、
aaa.bbb.BYTE = 0xff; と記述するときには、IO定義ファイルというのが必要らしいのですが、
トラ技付録のH8SX/1655のIO定義ファイルが見つけられません。
Renesasのページを探し回ったのですが、無いみたいなのです。
ご存じの方教えていただけないでしょうか?
503774ワット発電中さん:2010/03/10(水) 16:02:36 ID:pmO5I1Og
>>502
iodefine.h ?
504774ワット発電中さん:2010/03/10(水) 16:18:20 ID:vd8qIOGx
そうです。そのヘッダファイルです。
volatile....で自分で書けばいいんですが、大量ですし。
H8SX/1653 1657などはあったんですが、1655だけ・・・・
505774ワット発電中さん:2010/03/10(水) 17:00:39 ID:pmO5I1Og
>>504
トラ技のサンプルは1658を使ってるみたいだよ。
506774ワット発電中さん:2010/03/10(水) 17:33:36 ID:kAloflty
昔は日立やルネのページにあったけど、今はHEWで自動生成になったから消えた。
HEWでプロジェクト作ればファイルの中に勝手にできる。
507774ワット発電中さん:2010/03/10(水) 17:34:03 ID:SONDKjnY
英語のサイトのほうには出てないかしら?
日本語ページはかなり対応遅いような…

サンプルはあるみたいだけど、それから抜けないかしら?
508774ワット発電中さん:2010/03/10(水) 17:34:47 ID:SONDKjnY
>>506
そうなのかー
それはそれで落ち着かないな…
509774ワット発電中さん:2010/03/10(水) 17:35:08 ID:kAloflty
あ、「I/O定義ファイル」にチェック入れないとできないか。
510774ワット発電中さん:2010/03/10(水) 18:03:33 ID:y2ro8vJx
申し訳ないが広めないと一生後悔するから

子供手当て、出稼ぎ外国人が母国に置いてきた子供にも支給:イザ!
http://tom5023.iza.ne.jp/blog/entry/1476613/
511774ワット発電中さん:2010/03/10(水) 18:14:57 ID:ys854QQa
>>510
国会に突入しようぜ
512774ワット発電中さん:2010/03/10(水) 18:32:50 ID:hnFJGSME
>>511
何人集めりゃ突入できるんだろうな
513774ワット発電中さん:2010/03/10(水) 18:49:15 ID:4DMLTJAR
プロジェクト->ファイルの追加で
iodefine.h
を追加する
514774ワット発電中さん:2010/03/11(木) 05:31:57 ID:e3vJ3PF5
勇次郎なら一人で突入できる
515774ワット発電中さん:2010/03/16(火) 23:35:39 ID:LGkG+yh9
おまいらR8で作って欲しいものあれば作ってやんぞいってみろ
516774ワット発電中さん:2010/03/17(水) 00:33:07 ID:3JnN1oH2
>>515
マインスイーパ
517774ワット発電中さん:2010/03/17(水) 02:08:48 ID:virOtdqP
インベーダーゲーム
518774ワット発電中さん:2010/03/17(水) 07:07:33 ID:aeoaKsGp
>>515
俺の嫁
519774ワット発電中さん:2010/03/17(水) 21:46:48 ID:nSEPi1hc
乙、みんなそれはちと面倒というもんだろ
520774ワット発電中さん:2010/03/17(水) 23:17:25 ID:ga6FtnVo
TaSCANでリプロするためのミドルウェア。
521774ワット発電中さん:2010/03/19(金) 13:10:20 ID:qNZoRWqN
>>448 その後どうなったか書いてほしい・・・
522774ワット発電中さん:2010/03/20(土) 01:33:13 ID:6PcPVBOy
>>504
俺は日立純正、HEW+KPIT両方にある1653で書いてるよ
523774ワット発電中さん:2010/03/20(土) 01:36:00 ID:6PcPVBOy
つーか、コンパイラ試用期限切れるとH8SXって使えんのかなぁ
524774ワット発電中さん:2010/03/22(月) 14:26:40 ID:ZN5jUTdk
VisualC#で作成したGUIアプリから、char型のデータをH8/3052に送信。
H8/3052はデータ受信時に割り込みをかけて、受信した文字をLCDに表示。
また、受信した文字に応じて、複数のLEDの点灯/消灯を切り替える。

こんなプログラムを組んで、ちゃんと動作しているのを見てwktkしてます。
自分のように趣味でちょこちょこと弄っている人にオススメのマイコンってないですか?

下記の条件に該当するものでお願いします。
・ルネサス製(国産品が使いたい!)
・USBで書き込み可能
・小ピン(H8/3052はピン数が多いけど、全部のピンを一度に使い切るケースはあまりないんじゃ?)
・開発環境が無償
525774ワット発電中さん:2010/03/22(月) 15:35:34 ID:OekYiuk5
秋月のキットでH8の30xxの奴が何種類かあるでしょ?R8Cのもあるかな?
そういうのじゃダメなの? もっと小っこいので、PICとか。こっちはASMしかないが。

あ!>・USBで書き込み可能 ・・・ここがネックか。日立系はuart書き込みだった。
526774ワット発電中さん:2010/03/22(月) 18:48:03 ID:NKifLbT7
>>524 R8CならE8aを使えばRESETとMODEとGNDさえ配線すれば書ける。
オンチップデバッガも使える。
VCCはつなが無くても基板にVCCかかってれば良い。

R8Cなら小ピンからあるし速い。
USBというのはライタがUSBなのか、チップにUSB機能があるのかどっち?
527774ワット発電中さん:2010/03/22(月) 21:32:11 ID:ZN5jUTdk
>>526
チップにUSB機能があるという意味です
528774ワット発電中さん:2010/03/23(火) 00:35:09 ID:e549Y4ss
http://it.cqpub.co.jp/tse/201004EF/conferenceV.asp#T-9
君達、色々オブションボード用意した。買えよ
529774ワット発電中さん:2010/03/24(水) 14:48:25 ID:+v1LEFdj
>>527
そんなものは滅多にない。

>>524 に挙げている条件なら、78K も割とオススメだが、
スレ違いなのでこれ以上は言わないことにする。
530774ワット発電中さん:2010/03/24(水) 15:03:57 ID:FCMAZlVo
>>528
これ誰が設計なんだろうな
またGNDピンが2本だけとかだったりするのかな
531774ワット発電中さん:2010/03/24(水) 16:15:56 ID:MCmWSK3B
HEWのメニューとかヘルプは日本語化できるのでしょうか?
StarterKitのCDからV4.0を入れてアップデートでV4.07にしました。
532774ワット発電中さん:2010/03/24(水) 22:19:07 ID:IiCVTl0b
普通に日本語化されてるよ
インストール時に選択するのか日本語版インストーラがあるのかは忘れた
533744ワット発電中さん:2010/03/25(木) 02:04:20 ID:0bgw0+ap
>>532
昔は日立のマイコンばっかり
今はARMかMIPSばっかり
HEWなんて忘れちまった。すまん
534774ワット発電中さん:2010/03/25(木) 07:53:41 ID:5gSbQQ2M
H8用のコンパイラ、DOS版のch38 1.0Dとか使ってるの私くらいだろうな。
DOS版のMIFESでコード書いてるんだぜ。
535774ワット発電中さん:2010/03/25(木) 10:38:00 ID:rxoz9Hbx
俺はVZだ
536774ワット発電中さん:2010/03/25(木) 11:57:08 ID:UUC9qCqy
俺はCW
537774ワット発電中さん:2010/03/25(木) 12:01:38 ID:6q81LNr+
俺はWordStar
538774ワット発電中さん:2010/03/25(木) 12:18:26 ID:c7U+ff4q
俺はedlin
539774ワット発電中さん:2010/03/25(木) 14:37:24 ID:ImPcH5nL
OREHA WORDMASTER
540774ワット発電中さん:2010/03/25(木) 18:01:29 ID:8qVPpYw4
最近 R8C/Tinyの仕事が増えている(ちなみにソフト屋)。
ハード屋に言わせると安くて便利らしい。
それにしても楽な石だ。もっとも嫌いなスタートアップ部をウィザードで作ってくれて、
しかもそのまま殆ど問題なく動くってのは楽だ。

で、あれだな。もう 10回くらいクリックしても構わないので、タイマ使いますか?
割り込みレベルはいくつですか? 周期は? とか uart0使いますか? ボーレートはいくつですか?
とか聞いてくれて雛型吐き出してくれると完璧なんだが…楽し過ぎ^^;
541774ワット発電中さん:2010/03/25(木) 18:33:01 ID:rxoz9Hbx
ソフト屋なら作っちまえよ。
PHPあたりで作ってWAB公開してくれればアクセスはしてあげる
542774ワット発電中さん:2010/03/25(木) 18:43:12 ID:jFSZ2OVD
R8C/2Dのマイコン使ってるのですが
ビルドエラーしていないのに、リセット後実行しても起動しません
ちなみに1個ずつステップインしたら、ちゃんと起動しました
何が不足してるか、誰か分かる方いらっしゃいますか?
543774ワット発電中さん:2010/03/25(木) 18:51:12 ID:ImPcH5nL
>>540
他のマイコンなら結構充実しているのあるけどな。

>>542
オシロ持ってる? テストポート出力しながら見ていけば何か分かるよ。
544774ワット発電中さん:2010/03/25(木) 18:58:48 ID:UjapTeDs
spが二つ?
545774ワット発電中さん:2010/03/25(木) 19:48:15 ID:89Pf+CUz
>>540

sango だっけか ルネサス提供のツール。
ためしてみた?
546774ワット発電中さん:2010/03/25(木) 19:52:19 ID:8FW0daxR
547774ワット発電中さん:2010/03/25(木) 21:16:55 ID:0lklua25
>>542
情報不足だなー。 R8C/2D のマイコンて秋月の基板?それとも独自基板?
デバッガは何を使っている?

リセット後実行というのは、デバッガを接続して、デバッガから実行したの?
それとも、デバッガなしで起動してってこと。

ちゃんと起動している/いない はどう判断した?

E8aとかICEを使っている場合であれば、関係ないけど
R8CをシリアルI/Fを使ってHEWてデバッグしている場合、デバッガの使用/未使用で
メモリマップを変更する必要がある。

でもなー、それだとデバッガが使えなくて悩むと思うんだよな。
548774ワット発電中さん:2010/03/25(木) 23:32:18 ID:jFSZ2OVD
>>543,>>547
ありがとうございます、まだまだ半人前ですが試してみます

ちなみにマイコンはルネサスのスターターキットの奴です
起動してるかの判断は、簡単なプログラムでLEDが点灯しなかったからです
作ったプログラムは、main関数からLEDを点灯させる関数のプログラムです
リセット後実行では起動せず、ステップインなら動きました
初心者なので、デバックはよく分かりません
長文失礼しました
549774ワット発電中さん:2010/03/26(金) 00:01:34 ID:vo8KGoyq
LEDが光らないというけど、どういう点灯をさせてるの?
即座に消灯してるなら光らないかもしれない。

ステップ実行だと一瞬で抜ける処理があっても目視できるからね
550774ワット発電中さん:2010/03/26(金) 00:05:40 ID:6VLVSpOM
>>548
追加の情報は、ルネサスのスターターキットを使っているのと、LEDの点灯だけか。
後は、同じ事を書いてあるだけ。 半人前にも到達してないな。

まさかと思うけど、main() で リターンしてないよね。 

int main()
{
p3.7 = 1; // ポートは適当ね
}

なんてのはだめで
int main(
{
551774ワット発電中さん:2010/03/26(金) 00:08:20 ID:6VLVSpOM
途中で書いちゃったよ

int main()
{
p3_7 = 1;
for ( ; ; )
;
}
たとえば無限ループにしたりしてリターンさせないってことだけど、

まさか、こんな間違いはないだろうと思うが。
552774ワット発電中さん:2010/03/27(土) 01:29:49 ID:N1KHOfdc
素人が初心者に講釈ってのがH8のいいとこだよな
553774ワット発電中さん:2010/03/27(土) 05:08:52 ID:yGUFNKwc
1を書いたら点灯? 0を書いたら点灯のほうが多そうだが、そこを誤解してるとか
554774ワット発電中さん:2010/03/27(土) 07:11:28 ID:S1nb0ysI
>> 552
可能性の一つを指摘したのみ。 記述からかなりレベルの低い初心者であることが
想像されたので。 そもそも、H8でもないし。 最初の質問でR8/2Dとなっている。 
知ったがぶりするなら、良く読んでからにしよう。

>>553
1にしたのは誤解ではない。 書き込むデータを問題にしていないので、適当に書いただけ。
つまらないことが気になる性格の人みたいですな。
ブロック図を見てみたが、確かにスターターキットは 0で点灯しているみたいではある。

追加の質問がないので、原因はともかく解決できたんじゃないかな。
555774ワット発電中さん:2010/03/28(日) 01:39:58 ID:Ew5/bIBH
>>554
レジスタ初期化しないと、入力にならないか?
556774ワット発電中さん:2010/03/28(日) 07:12:09 ID:X3CDke7f
>>555
レジスタを初期化しないと通常は入力だろうな。

ただ。548の発言を参照してみて、 ステップインで実行したときは、
LEDが点灯するってある。 出力ポートにはなっている可能性は高そうだ。

それに質問はLEDの表示ではなく、リセット後の実行で動作しないってことだ。

情報が不足しているから、 これ以上詮索しても原因を特定するのは難しい。

デバッグがよく分からないなんて、単なる不勉強にしかすぎない。 
これ以上は質問者につきあう気はもうないな。
557774ワット発電中さん:2010/03/29(月) 05:07:52 ID:QBzN1nxm
このスレの質問者って、回答もらってその後どうなったか書かないのがデフォなんだね。
お礼書けとかじゃなく、その回答が当たってたかどうかは書いたほうも知りたいものだが。
558774ワット発電中さん:2010/03/29(月) 09:55:42 ID:xxM4WsMt
数日後にはルネサスが生まれ変わるわけだが、
4/1以降は旧NECエレクトロニクス製マイコンの話を
このスレでしてもいいのか?
559774ワット発電中さん:2010/03/29(月) 12:32:16 ID:scb/oefX
え、まじで?
NEC エレってなくなるの?
560774ワット発電中さん:2010/03/29(月) 12:36:32 ID:scb/oefX
軽くググってみた。スクエニみたいなもんか。
561774ワット発電中さん:2010/03/29(月) 14:54:04 ID:xxM4WsMt
>旧NECエレクトロニクス製マイコン

ごめん、この言い方はおかしかったかもしれない。
要はこれの事を言いたかったんだ。
http://k-tai.impress.co.jp/docs/news/20091215_336003.html
562774ワット発電中さん:2010/03/29(月) 16:44:29 ID:scb/oefX
NEC エレ主導の合併、てことでいいのかな。
ロゴがルネのまんまだけど(色だけ NEC エレw)。
開発ツールが統合されたりしなければ、スレはこのまま
分かれて機能するような希ガス。個人的に。
563774ワット発電中さん:2010/03/29(月) 18:40:19 ID:NSyILn0Y
ってか日立と三菱のツールを統合するのに、
あんなに時間がかかってまだできてないのに
この予算がないご時世ですぐできるとは思えないね
564774ワット発電中さん:2010/03/29(月) 21:16:57 ID:6pf+YesL
日立三菱のラインナップ統廃合が全然進んでいない上にさらにNECが加わるのか。
どうするつもりなんだろうな。
選択肢が増えるのは有り難いが、供給不安が…。
565774ワット発電中さん :2010/03/29(月) 21:43:36 ID:x4NSNC2s
当然 ルネサスE8A NECには使えないだろうな。
566774ワット発電中さん:2010/03/29(月) 22:49:25 ID:9ljMb+qg
使えるようにするべきだな
567774ワット発電中さん:2010/03/30(火) 15:30:54 ID:WT8K1ftc
>>565
使えないと言ってもE8Aは単なるJTAGライタだろうから
問題ないのでは?
568774ワット発電中さん:2010/03/30(火) 18:29:49 ID:lYmRXQIj
>>567
E8a はJTAGライターじゃない。 E1エミュレータのページにE8aの接続方式はUARTと
書いてあるが、信号線をみればJTAGでないのは、すぐ分かる。

>>565 >>566 の発言を見ると、E8a はルネサスのほとんどのCPUで使えるみたいに
見えるが、ICEとして使えるのは R8C M16C H8/Tinyくらい。(書き込みならもっとある)

三菱は 安いICEをもってなかったけど、NECは MINICUBE2とかいうのがある。
値段も8千円くらいでマルツでも販売している。 NECのユーザーからすれば E8aに
変わるのは迷惑な話だろうから、E8a対応になる可能性は低いだろう。
569774ワット発電中さん:2010/03/30(火) 21:41:19 ID:LOvPyRrt
E8aもやっすいよ。同じくマルツで1万4千円。
仕事で使うなら8千円も1万4千円も変わらないと思うけど。
趣味でNECのマイコン使ってる人って…いるのかな?
570774ワット発電中さん:2010/03/30(火) 22:10:54 ID:lYmRXQIj
>>569
新規にNEC系のCHIP使う場合であれば、問題にならないかもしれないが、
これからはE8aを使うんで、MINICUBE2は使えなくなりますって言われれば
文句の一つも言いたくもなるんじゃないか。

事情を知っているわけじゃないが、新規よりも継続の案件がほとんどだろう。
既存の顧客を怒らせる以外の効果はないと思うが。

E8aに対応すべきなんて言っているやからが、実際に78K0とか使うかと思うかい?
571774ワット発電中さん:2010/03/30(火) 22:57:37 ID:LOvPyRrt
>>570
ごめん。なんか誤解させたみたいだけど、別に無理に統合してほしいってわけじゃないです。
どっちにしろ安いから、必要なら買えばいいので。
ルネ自身が統合したいと考えるのなら、好きにすればいい、という程度。
572774ワット発電中さん:2010/03/30(火) 23:52:57 ID:lYmRXQIj
>>571
別に誤解はしていないと思うけど、安いんだから必要なら買えというのは
通用するとは思えないと言っているだけ。

安いっていっても1個や2個の買い換えで済むところばかりじゃない、
別に攻めるつもりではないが、考えが安易すぎる。

とはいえ、NECのCPUがどう扱われるかを知っている訳ではないので
ICEの扱いに関して自分の言っていることも予想にしかすぎないが。
573774ワット発電中さん:2010/03/31(水) 11:11:51 ID:YE8vbVUz
>安いっていっても1個や2個の買い換えで済むところばかりじゃない、
100台買い換えても100万くらい。それだけ使う会社ならそのくらい
たいしたことなくね?
それよりツールのほうが高いだろ。まあ、ソフトはコピ(ry
574774ワット発電中さん:2010/03/31(水) 15:40:36 ID:S3bmJxDi
R8Cと言うより HEWの機能かな? とは思うが…聞かせてくれ。
コンパイルした時のプロジェクト名や時間を
char *version="HOGEHOGE 2010/03/31 10:10:03";
みたいに出力させていっしょに焼きこみたいのだが…
何か良い方法ないかのぉ。
575774ワット発電中さん:2010/03/31(水) 15:48:03 ID:RLWzqNwG
__DATE__や__TIME__って無いんだっけ?
576774ワット発電中さん:2010/04/01(木) 00:15:33 ID:hEOI1zg0
dくす。
プロジェクト名.cの中で
char version[]=__FILE__ " " __DATE__ " " __TIME__;
な感じで上手く行ったよ。
実際表示させる時は、ちょっと文字列操作して(.cとか取って)バッチしだ。
助かったよ! ありがと。
577774ワット発電中さん:2010/04/01(木) 04:12:03 ID:JfnFHi3Q
IARのcは書籍のマニュアルで 11章 定義済みシンボル という章があったが、
へうのpdfのコンパイラマニュアルだと、7.環境変数−7.2 コンパイラの暗黙の宣言
の章には載ってない。どの辺に書かれてるんだろ?
578774ワット発電中さん:2010/04/01(木) 10:34:30 ID:p/vSb1Kz
>>569
> 趣味でNECのマイコン使ってる人って…いるのかな?

ここに一人。
DIP の選択肢がほとんどないから、AVR も併用しようかと思ってるけど。
UART さえあれば書き込めるルネのマイコンはなかなかいいけど、
MINICUBE2 の便利さがに軍配。
579774ワット発電中さん:2010/04/01(木) 11:19:27 ID:/4/bYOPQ
>>577
RenesasからDLしたと思うけど…手元にあったプログラム作成の手引き<C言語編>(rjj05b0118_m16cap.pdf)ってのに__FILE__、__LINE__、__DATE__、__TIME__は予約されてるマクロと載ってたよ。
580577:2010/04/01(木) 17:54:36 ID:JfnFHi3Q
ありがとう。pdfが違うからまだ不完全な時のかも。2004年頃のでした。
581774ワット発電中さん:2010/04/01(木) 20:08:00 ID:0ZFfrjt4
呉越同舟電子株式会社 誕生おめ
582774ワット発電中さん:2010/04/02(金) 12:38:13 ID:lSrZMEdi
ファブはどうなるんだべ?
583774ワット発電中さん:2010/04/08(木) 13:16:34 ID:MCbtjJvr
やっと規制解除された

ところでルネサスのHPが変わったね。
色調が赤から青に変更されてスタイリッシュな印象を受けたんだけど、自分だけかな?
584774ワット発電中さん:2010/04/08(木) 15:47:43 ID:Qs9JJHYH
ルネのロゴに NEC の色だと思うぞ。
585774ワット発電中さん:2010/04/08(木) 15:48:17 ID:1w6bwx1a
色だけNECになったんだよ
日立レッドから
586774ワット発電中さん:2010/04/08(木) 21:55:42 ID:I1OsUGOR
赤の方がよかったんだが。色の趣味悪過ぎだ
見てると気分が悪くなってくる
587774ワット発電中さん:2010/04/08(木) 23:25:54 ID:xFAl4EmA
ルネとNECが合併してもユーザは得する要素があんまりないよな
588774ワット発電中さん:2010/04/08(木) 23:28:42 ID:Dk/4hjrr
ユーザーの為を思って合併した訳じゃないしな。
589774ワット発電中さん:2010/04/09(金) 09:41:39 ID:2leXZ6cQ
せめて販路も統合してくれ。
相も変わらずMは三菱特約店系列onlyじゃ使えねー。
590774ワット発電中さん:2010/04/09(金) 13:24:09 ID:7Fix1js7
データシートを探しにくいのは気のせいでしょうか?w
591774ワット発電中さん:2010/04/09(金) 14:18:40 ID:cWWgs7Kj
激しく見づらい。

あと赤を基調に戻せ。なめとんのかと。
ユーザビリティ損ねてまでウェブを統合しなくていいよ

会社ってのは図体がでかいほど馬鹿なことをするな
恥ずかしい
592774ワット発電中さん:2010/04/09(金) 17:12:47 ID:SnXvsCdr
暗い青と緑って、なんか気分が落ち込むよな・・・
二度と見たくないサイトになってしまった。哀しい。
593774ワット発電中さん:2010/04/09(金) 17:14:19 ID:SnXvsCdr
と書いてから気付いたが、ココってその色じゃんw
594774ワット発電中さん:2010/04/09(金) 18:05:45 ID:1a2TXvg9
>>590
伝統です。

ところでVRを見かけないような気がするのですが‥
595774ワット発電中さん:2010/04/09(金) 18:25:12 ID:7Fix1js7
PDF開くと

カタログ等資料中の旧社名の扱いについて

って、おまいの事情なんざ知るかボケw
こんなの最後に付けとけよと。
まず、データを出せよ。
ここら辺にH臭するよな〜。
596774ワット発電中さん:2010/04/09(金) 18:30:31 ID:7Fix1js7
>>594
左様でございますか。なら仕方ないですw
597774ワット発電中さん:2010/04/09(金) 20:06:16 ID:RFD6Jc1D
輝け甲子園の星(2010早春号)より
選抜高校野球選手権大会出場選手「好きなタレント」アンケート

1位 北川景子 49票
2位 上戸 彩 24票
3位 香里奈  23票
4位 佐々木希 22票
5位 松本人志 18票
6位 新垣結衣 17票
7位 南 明奈 黒木メイサ 15票
9位 木下優樹奈 12票
10位 市川由衣 11票
11位 EXILE 10票
12位 ダウンタウン 相武紗季 9票
14位 宮崎あおい 8票
15位 柴咲コウ 戸田恵梨香 井上真央 コトリッチ 7票
598774ワット発電中さん:2010/04/09(金) 22:45:19 ID:ajqeecaI
今日はルネサスに批判的な書き込みする奴が多いな
599774ワット発電中さん:2010/04/10(土) 00:29:31 ID:b+GgX8TR
上のRENESASの文字くらいは赤でも良かったかもな
慣れないせいか寒々しい
Sunのワークステーションみたい
600774ワット発電中さん:2010/04/10(土) 01:30:25 ID:yvxz6e/r
ホームページ全体に憂鬱な感じが漂ってるんだよな
赤には加速感があったけど、今の寒々しい青は何だ

あと「旧NECエレの〜」とか「旧ルネサステクノロジの〜」ってのは
全然要らないと思うわ。そんなこと書くなら最初から別サイトにしろと。

やることが役人臭漂ってんだよな
トレードカラーは赤に戻して普通にNECが作ってた半導体を
ラインナップに追加するだけでいいだろうが。

客からしたら、社内統治のレベルが低いと思われても仕方ない
海外からどんな風に見られるかわかってんのかと
601774ワット発電中さん:2010/04/10(土) 03:49:42 ID:XfNgTqUc
青でも赤でもどっちでもいいよ
しょーもない
602774ワット発電中さん:2010/04/10(土) 07:02:38 ID:3lx/shyN
紫色で妥協ってことで
603774ワット発電中さん:2010/04/10(土) 08:49:01 ID:Zk9YH9Rx
なんで青なの?
NECが青だったの?
604774ワット発電中さん:2010/04/10(土) 11:37:23 ID:eCPOuBnp
>>603
えーと
>>584
>>585
らしいが
なんで色だけなんだろう
605774ワット発電中さん:2010/04/10(土) 23:53:11 ID:B7lbzTjN
赤字は縁起が悪いかららしい。

ttp://samidare.jp/yamatetsu/note?p=log&lid=117701
でも買ったらと。
606774ワット発電中さん:2010/04/11(日) 00:25:18 ID:WTNFwdox
トヨタも赤、ホンダも赤だけどね
607774ワット発電中さん:2010/04/11(日) 00:38:57 ID:gKeBwTJN
>>606
トヨタは2009年3月期は赤だよん
608774ワット発電中さん:2010/04/11(日) 00:51:43 ID:KOa5ok6j
んじゃ黒にすりゃいいのにね。
どうせ白黒だったら黒になるんだし。
609774ワット発電中さん:2010/04/11(日) 13:59:59 ID:BvfYFn68
で、生き残るマイコンはどれなんだ?
610774ワット発電中さん:2010/04/11(日) 14:11:34 ID:wT9N0Qb0
RX
611774ワット発電中さん:2010/04/12(月) 01:03:52 ID:zFNQI0Pm
昔はH8に専用GAだったけど、最近中国人が起こしてくる石は8051っぽいコア内蔵が多い。
H8も割食ってると思うよ。最近H8/SHのICE全然稼働してないし
612774ワット発電中さん:2010/04/12(月) 19:23:49 ID:X30jl+97
つか,昔から組み込み系の8ビットといえば8051は定番なんだがな

8ビットクラスなら8051,もう少し上ということならARM系ということで
決まりでしょ。
613774ワット発電中さん:2010/04/12(月) 19:27:27 ID:BndBY9Cp
SHとかH8の設計思想を意識して、コードを書いてる人が何人いるやら
614774ワット発電中さん:2010/04/12(月) 20:00:07 ID:/bOz/mW7
78Kもルネサスマイコンスレに入れてもらっていいんでしょうか?ww
615774ワット発電中さん:2010/04/12(月) 20:07:51 ID:qyexU+OY
>>612
それは海外の話だな。 日本じゃ8051はあんまり使われてない。
確かに、使っているところもあるのは知っているけど。
616774ワット発電中さん:2010/04/12(月) 21:26:44 ID:QdJZeryF
>>614
統合した方が多少活気付くかもね。
617774ワット発電中さん:2010/04/12(月) 22:11:01 ID:DVsWSaa7
>615
すなわちガラパゴスを感じなくてはいかんのだよチミ
618774ワット発電中さん:2010/04/12(月) 23:16:28 ID:qyexU+OY
>>617
訂正 それは海外の話だな --> 日本の話じゃないな。

なんだか知ったかぶりだが、海外の情報に本当に詳しいのか。
海外で8051のメーカーは何社かあるのは知っているが、結構マイナーそうな
ところが多いし、アマチュアでの使用例もそれほど見かけない。
単に気分で言っているだけじゃないの。
619774ワット発電中さん:2010/04/12(月) 23:36:22 ID:DVsWSaa7
この辺のがいわゆるエセシャッフルとか激安mp3プレヤに使われて
玉が出てるやつね
ttp://www.grain-media.com/html/7006.html
8051単独ってのよりもコアをSOCしてるってこと。
マイナーって感じるのはガラパゴスに住んでる証拠
アマチュアでの使用ってのは何の指標かわからんが?
620774ワット発電中さん:2010/04/12(月) 23:41:10 ID:qyexU+OY
十分マイナーそうなメーカーじゃない。
それだけで、ガラパゴスって証拠になるんだ。ふーん。

昔から組み込みの定番は8051って書いてあるけど、それとの関係は?
621774ワット発電中さん:2010/04/13(火) 00:10:19 ID:+cO4rrii
今更だが
ガラパ → 75,H8/SH
非ガラパ → SoC形態 I.MX(フリスケ)とかARM系 8051系とDSPとか

ガラパ → アンドロイドなんかの先進ハードに不向き
非ガラパ → アンドロイドなんかの先進ハードにうってつけ

ガラパ → くっつきあってもがいている
非ガラパ → ひとりでも飯が食える(フリスケ/サムスン)
 
>>620
>昔から組み込みの定番は8051って書いてあるけど、それとの関係は?
関係は8052だけど?!
622774ワット発電中さん:2010/04/13(火) 04:01:20 ID:VOQBSuwF
アセンブラでがりがりやるのも考えもんだし
623774ワット発電中さん:2010/04/13(火) 11:59:18 ID:ga4T54hs
なんでもガラパゴス呼ばわりするのも考え物だが、
例に転売されまくってるフリースケールなんか出すなよ・・・
元祖ガラパゴスみたいなもんだし。
624774ワット発電中さん:2010/04/13(火) 21:05:32 ID:ECN8Jcrn
はぁ…やっとわかったよ。farか…orz
これあれだよなぁ。せめてワーニング出して欲しいよなぁ。
char *adrs;
adrs =(char*)0x1c000;
625774ワット発電中さん:2010/04/14(水) 16:27:12 ID:ZJr9L6Vk
HEWのスレとか無さそうなんでここで聞くけど・・・
HEWって独自なバッチファイルを起動するとかできんのかなぁ。
コンパイルされた .motファイルに最後にちょろっと細工したいのだが・・・
626774ワット発電中さん:2010/04/14(水) 16:59:18 ID:4+Lzl4WI
>>625
ビルドフェイズにICE用のシンボルコンバータを挟んで実行させるような話?
627774ワット発電中さん:2010/04/14(水) 17:23:45 ID:XoA6nnnk
>625
なんか答えでてるけど
ビルド --> ビルドフェーズ で追加じゃないかな
628774ワット発電中さん:2010/04/14(水) 18:20:05 ID:ZJr9L6Vk
ヒントサンクス!!
色々やってみるわ。
629774ワット発電中さん:2010/04/15(木) 14:50:04 ID:S1tMu5kT
以前、__DATE__、__TIME__ を聞いた者だけど。orz
HEWで makeの touchみたいに依存関係無視で必ずコンパイルする方法はないかね。
結局、毎回 compileさせる時に用もないのに __DATE__や__TIME__を記載したファイルを触ってやらないと更新されんのだが…
630774ワット発電中さん:2010/04/15(木) 18:52:28 ID:SpLttZMk
HEW 4.07.00.007
コンパイラ 5.45 Release01
CPUはR8C/2BでR5F212BAを使っています。
R5F212BAはROMエリアとRAMエリアが二つに分かれています。
で、無駄にプログラムが大きくなってきたのですが、
・ROMエリアは一つ目が一杯になると二つ目のエリアを使う
・RAMエリアは一つ目をオーバーしてもエラーがでず、二つ目は使われない
という状態です。

そこで質問なのですが
1、RAMエリアの二つ目(3000h〜3DFFh)を使う場合は自動生成されたスタートアップルーチン(sect30.inc)に
  明示的にセクションを作成しないといけないのでしょうか?
2、1が真の場合、このセクションの初期化処理はどうすればいいでしょうか?
3、RAM領域を一つ目が一杯になったら二つ目の方に自動的に配置させる方法はありますでしょうか?

以上です。
よろしくお願いします。
631774ワット発電中さん:2010/04/15(木) 19:38:35 ID:RI/ewF1D
>>629
タイムスタンプ変えるBATでも作ってコンパイル前に押せば?
632774ワット発電中さん:2010/04/15(木) 19:44:17 ID:uA8bsMU/
>>631
ANSWER
1. YES
2. ncrt0.a30 に追加するんだろうな、多分。
3. NO
633774ワット発電中さん:2010/04/15(木) 19:45:04 ID:RPi352yE
>629
すべてをビルドするってのでいいんじゃないの

>630
RAMエリアのセクションの後に先頭番地が3E00hのダミーのセクションつければ
エラーが出るようになるかも?

追加RAMの初期化処理はセクションの初期化処理のソースを見た方がいい
H8は割とわかりやすかったけど

アドレスが不連続なエリアに自動配置してくれるような親切なことはしてくれないと思うよ
634774ワット発電中さん:2010/04/15(木) 19:56:32 ID:uA8bsMU/
>>630
ROMエリアがオーバーしたら2つめを使うってことはないはずなんだが。
ルネサスのリンカーが賢くなったのか?

0FFDCh から 0FFFFh がベクターになっているんで、ここは使えない。
そのため、 0FFDBh 以下 と 10000h 以上とで別に配置しないと
使えないはずなんだが。 
0FFDBh を越えたら、リンカーがエラーを出すはずなんだけどな。
635630:2010/04/15(木) 20:12:28 ID:SpLttZMk
>>632-634
レスさんくす
とりあえず、M32Cで拡張I/OにSRAMのセクション追加した時を参考に色々試してみる

>>634
00FEDCから100h
00FFDCから24h
は使わないように自動的にしてくれている。
で、残りを10000h以上に自動的に配置してくれてます。
mapで見ると上手に貼れるか分からないけど以下の様になってます
REL CODE 00E838 0000F8 2 _i8divu
REL CODE 00E930 0000CF 2 _i8modu
interrupt REL CODE 00EA00 000000 2 ncrt0
REL CODE 00EA00 00009D ncrt0
vector ABS ROMDATA 00FEDC 000100 ncrt0
fvector ABS ROMDATA 00FFDC 000024 ncrt0
rom_FO REL ROMDATA 010000 00003D command
REL ROMDATA 01003D 00000B Config
636774ワット発電中さん:2010/04/15(木) 20:48:12 ID:uA8bsMU/
>>635
そんなオプションがあるとは知らなかった。
その機能がないと、R8Cで 0FFFFHを越えるプログラムを作るのは面倒だよな。

そっか自分の場合は、最初は 0FFFFHを越えないCPUでソースを生成したから
オプションがセットされなかったのか。 後からCPU変わったんだよな。

マニュアルみても、 0FFFFH が自動的に生成されるとか書いてなかったし、
オプションのさりげない記述じゃ気づきにくいよな。
637630:2010/04/15(木) 21:47:44 ID:SpLttZMk
>>636
プロジェクトでR8C/2B指定で作ったのでオプションかどうかは分からない。
ただ、リンカとしては04000h〜1BFFFhまでを一つのセクションとして扱って、
sect30.incで指定されたベクタの領域だけは開けとくようにしているのだと思う。
そして良く見ると、FFFFh移行に配置されているのはREL CODEじゃなくてROMDATAになっている
関数でFFFFh移行に配置されているのは__ctypeだけだった。
コードがFFFFh越えないと、本当に自動的に配置してるかわ分からないかも。
638630:2010/04/15(木) 21:57:52 ID:SpLttZMk
で、セクション定義と初期化の質問です。

HEW 4.07.00.007
コンパイラ 5.45 Release01
CPUはR8C/2BでR5F212BAを使っています。
R5F212BAはROMエリアとRAMエリアが二つに分かれています。

sect30.incで以下を追加しました。
;---------------------------------------------------------------------
  .section data_FE,DATA
  .org 3000H
data_FE_top:

.section bss_FE,DATA,ALIGN
bss_FE_top:

.section data_FO,DATA
data_FO_top:

.section bss_FO,DATA
bss_FO_top:

コンパイルが通って、mapファイルでセクションが作られている事を確認しました。

ncrt0.a30にセクションの初期化処理を入れようと以下を追加しました。
;---------------------------------------------------------------------
; bss zero clear
;---------------------------------------------------------------------
BZERO bss_FE_top,bss_FE
BZERO bss_FO_top,bss_FO

すると以下のエラーが出るのですが、何がいけないんでしょうか?
sect30.incだけ変更した時はコンパイルが通ったので定義は問題ないかと思ったのですが・・・
Error (asp30): Symbol definition is not appropriate
639774ワット発電中さん:2010/04/16(金) 00:21:58 ID:c+6qOuvQ
>>637
デバイス設定も関係あるだろうがではなく ROMサイズ指定によるらしい。
LINKERのOUTPUTのオプションが
 0xFFFF を越えないサイズの場合 -R8C
0xFFFF を越えると          -R8CE になるのを確かめた。
オプション調べてみたら、-R8CE は64K以上に対応したコードを生成するとなっていた。
640774ワット発電中さん:2010/04/16(金) 00:35:24 ID:c+6qOuvQ
>>638
何が言けないんでしょうって言われれば、 bss_FE  bss_FO がまずいんだろうな。
さて F は何をさしているんでしょうか?
といっても、若干自信がないが。
641774ワット発電中さん:2010/04/16(金) 00:51:42 ID:cwn1yDQN

SH, H8SX, H8S, H8の系統で、
clock周波数が一番速い、というかポートでたたくISP通信が一番速くなるのはどれでしょうか?
トラ技別冊のH8SX/1655は50MHzだったかな。あれだと速いんだろうか。
642630:2010/04/16(金) 01:16:19 ID:ktLQFx7Q
>>640
Fはfarを指しているんじゃないんでしょうか?
で、M16Cのサンプルで
BZERO bss_FE_top,bss_FE
BZERO bss_FO_top,bss_FO
してるのがあったので、そのまま持ってきてみたのですが・・・
BZEROマクロがfarエリアでは使えないって事でしょうか?

つか、M16CのサンプルではBZEROマクロ本体がncrt0.a30にあるのに
R8C/2B用に自動生成されたスタートアップのncrt0.a30には本体がない・・・
643630:2010/04/16(金) 01:33:16 ID:ktLQFx7Q
BZEROマクロがなかったので以下をsect30.incに追加
BZERO .macro TOP_,SECT_
push.w #sizeof SECT_ >> 16
push.w #sizeof SECT_ & 0ffffh
pusha TOP_ >>16
pusha TOP_ & 0ffffh
.stk 8
.glb _bzero
.call _bzero,G
jsr.a _bzero
.endm

これでコンパイルが通ったので、初期値ありの変数のために以下も追加
これでいいのかは分からない
・sect30.inc
;---------------------------------------------------------------------
; Initial data of 'data' section
;---------------------------------------------------------------------
  .section data_SEI,ROMDATA,ALIGN
data_SEI_top:

  .section data_SOI,ROMDATA
data_SOI_top:

  .section data_NEI,ROMDATA,ALIGN
data_NEI_top:

  .section data_NOI,ROMDATA
data_NOI_top:

;tuika
  .section data_FEI,ROMDATA
data_FEI_top:

  .section data_FOI,ROMDATA
data_FOI_top:

・ncrt0.a30
;---------------------------------------------------------------------
; initialize data section
;---------------------------------------------------------------------
N_BCOPY data_FEI_top,data_FE_top,data_FE
N_BCOPY data_FOI_top,data_FO_top,data_FO
644774ワット発電中さん:2010/04/16(金) 01:44:42 ID:ktLQFx7Q
とりあえずコンパイルは通るし、初期値も入る事は確認できたけど、やっぱり変数が0で初期化されない。
BZEROをNBZEROにしても同じ。
BZEROのマクロが何か間違っているんでしょうか?
645774ワット発電中さん:2010/04/16(金) 07:53:02 ID:c+6qOuvQ
>>643 >>644
初期化できましたか。 うーむ。 far エリアは 0FFFFh を越えたエリア
RAM部分は 当然 0FFFFh を越えてないので、うまくいかないと
思ってたんだが。 うまく割り当てられているのかしら?

C言語の変数は、2つのRAMエリアにどうやって割り付けられるのでしょうか?
何もしないと、連続して割り付けられ RAMエリアを越えてもエラーにも
ならないはず。

646774ワット発電中さん:2010/04/16(金) 11:23:09 ID:7+2CNPh4
コンパイル時に変数領域のセクションを指定するか、
ソースの変数宣言にセクション情報を指定するか
のどっちかだと
r8cだと、nearとかfarとかあるみたいだから、ハマるかも
647774ワット発電中さん:2010/04/16(金) 22:48:53 ID:uF3aMmsz
ふぅ…結局、ビルドフェーズの先頭で make_versionを入れたよ。
もち呼び出す make_version.exeは自作ね。この中で localtimeで文字列作って vesion.cに const char で一行吐き出す事にした。
これで毎回いやがおうでも compileされるわ。

far関係は面倒だよねぇ。
far使い出すとアドレスアクセスが倍になってコードも処理も倍になるし…
ましてや、この変数は farこれは付けなくても良いとか…バグりそうで怖いよ^^;
自分も悩んだあげく -fNROM(だったっけ?今家なので)で nearに配置させてる。
その代わり programセクションを far領域から配置して逃げたよ。
648774ワット発電中さん:2010/04/19(月) 14:33:36 ID:Zn35fnaL
秋月のH8基板がいつのまにか価格改定されてたけど
一番遊べそうなLAN付きのやつは価格据え置きだった。
でもLANのやつってかなり遅いのね。
http://gataro-avr-ken.cocolog-nifty.com/blog/2008/12/h83069-lan-c270.html
AVRのSPI経由のに負けるってのは悲しいけど
DRAM上で動くOSでタスク切り替えながらやるとこんなもんか?
649774ワット発電中さん:2010/04/19(月) 15:25:40 ID:+TKmAXFT
MESの蟹ドライバはあまり出来がよろしくない。

まああのボードがトロいのは8bitバスつうのが大きいと思うが。

650774ワット発電中さん:2010/04/19(月) 18:00:43 ID:0AwaZGF/
NECのマイコン78Kシリーズもここでいいんかい?
651774ワット発電中さん:2010/04/19(月) 22:12:11 ID:AUIPndOA
専用スレがあるだろ。そっち行かんかい。


…と、78K 使いの俺が言ってみる。
652774ワット発電中さん:2010/04/20(火) 10:55:34 ID:VCBk6fWh
そのうちR78Kとかでてくるんだぜ
653774ワット発電中さん:2010/04/20(火) 11:54:37 ID:O6OvEEXA
ロードマップが出てないから分からないが、旧NECは新製品を出さないで
徐々にフェーズアウトが一番ありそうな。 
654774ワット発電中さん:2010/04/20(火) 13:24:40 ID:79Ungafo
>>653
>フェーズアウト
って、何?
655774ワット発電中さん:2010/04/20(火) 13:32:56 ID:O6OvEEXA
フェーズアウト == 廃品種にする ってことだけど、一般的な用語じゃなかったかもしれない。

H8シリーズもロードマップに新製品がないから、徐々になくしていくつもりと思ってたんだが、
ここにきてCQ出版と組んで、H8Sを付録に付けたりしているのは なんのつもりと思ってしまう。
656774ワット発電中さん:2010/04/20(火) 14:15:04 ID:+eAZIjAX
旧日立系の営業チームががんばっているんだろう。
657774ワット発電中さん:2010/04/20(火) 17:29:09 ID:Yo1BqopI
フェーズって言うとphaseと間違うとかfadesは三単元(だっけ?)で間違いじゃないかとか
そこらへんのことでわ
658774ワット発電中さん:2010/04/20(火) 18:46:27 ID:b83DN+xT
辞書に載ってた

phase... out/phase out... 

(1) …を段階的に停止[廃止]する.
(2) …を(…へ)段階的に移行する《 into... 》.
659774ワット発電中さん:2010/04/20(火) 21:14:22 ID:vQ4rmPwE
ディスコンなら通じますか?
660774ワット発電中さん:2010/04/20(火) 22:15:22 ID:+eAZIjAX
ディスコンでもフェーズアウトでも通じる。
でもディスコンの方が古い部品って感じw
661774ワット発電中さん:2010/04/21(水) 01:54:17 ID:ZKvJu+lt
EOLとか言わないか?
662774ワット発電中さん:2010/04/21(水) 09:12:11 ID:yydHaQYO
ナイコン
663774ワット発電中さん:2010/04/21(水) 23:58:46 ID:fnPTbjAo
RXやらR8Cはトラブってるからな。今月のサポートレター参照
664774ワット発電中さん:2010/04/22(木) 08:56:03 ID:qe71lfCg
>663
すまん。それどこ見ればいいの
665774ワット発電中さん:2010/04/24(土) 19:51:41 ID:FqWKiVDm
評価版のDLのために、電話番号必須とかヒドス。
666774ワット発電中さん:2010/04/24(土) 21:26:06 ID:Q1+667D2
売り物をタダでずっと使おうなんてヒドス。
667774ワット発電中さん:2010/04/24(土) 22:15:54 ID:1trWE/mt
SH-2A付きのInterface 6月号を2冊買ってきた
使い道は何も考えてない
668774ワット発電中さん:2010/04/24(土) 22:27:55 ID:ZfQOEFtS
interfaceのまだ実物は拝んでないんだが、別途実装しなきゃならん部材って何がある?
669774ワット発電中さん:2010/04/24(土) 23:20:44 ID:1trWE/mt
USB-MiniABレセクタプル、3.3Vレギュレータ、1.2Vレギュレータ、
48MHzXTAL、ブートROMとか最低限必要そうなのは既に乗っかってる。
それととLEDが1個

USB-MiniケーブルつなげばLEDピカピカぐらいはできるんじゃね?
まだ厚紙の封も切ってないけどw
670774ワット発電中さん:2010/04/24(土) 23:25:15 ID:Q1+667D2
え?単体で?
それなら欲しいな
671774ワット発電中さん:2010/04/24(土) 23:46:18 ID:trsh3cCL
Linux使える?
672774ワット発電中さん:2010/04/24(土) 23:54:23 ID:4ZEncFwm
付録は、MMUなし。
Linuxなど汎用OS不可、μITRONなどRTOS可らしい
673774ワット発電中さん:2010/04/25(日) 01:39:51 ID:pnGrf4Ns
>671
μClinuxでもポーティングしてくれないか?
674774ワット発電中さん:2010/04/25(日) 02:26:58 ID:l3WvVsP6
トラ技の増刊号のH8SX/1655は40MHzクロックらしいです。
40MHzもの高速ならば、
秋月の300円カラーLCDに、アイマスの動画は表示できるでしょうか?
やはりFPGAでないと無理でしょうか。
675774ワット発電中さん:2010/04/25(日) 02:28:35 ID:qcHUG8gn
問題はRAMなんだよ
何MB積んでる? 2-4ないと起動でもあふれかねん
676774ワット発電中さん:2010/04/25(日) 02:29:45 ID:sTMwVbcY
>>675
>>673
677774ワット発電中さん:2010/04/25(日) 10:54:17 ID:brT2nRKc
if201006 sh2a付録基板、ledの抵抗が390Ωって書いてあるけど、
ちょっと小さくない?

678774ワット発電中さん:2010/04/25(日) 11:50:46 ID:nNojwHJ7
図1のUSBクロックなんて48KHzだぜ
679774ワット発電中さん:2010/04/25(日) 20:40:55 ID:jjDVMGEh
Interface 6月号のSH-2AもこのスレでOKなの?
680774ワット発電中さん:2010/04/25(日) 20:44:30 ID:qO8mzc6/
質問するのはいいんじゃない?
681774ワット発電中さん:2010/04/25(日) 21:39:46 ID:jjDVMGEh
了解。
明日届くみたいなので、(板を検索したけどなかったので)
もし専用スレがあれば誘導してもらうかと思った。
682774ワット発電中さん:2010/04/25(日) 23:21:44 ID:CH9M8DtY
オレも買った。
sh7144を趣味でずっと使っていてカラー液晶の制御に使ってたけど、
さすがにフレームレート出なくてこまってた。
CPLD使おうか悩んでたんだけど、
これで解決しそうだ。

またハードバグがないか不安だけど。
683774ワット発電中さん:2010/04/25(日) 23:25:46 ID:3Qch1ZMB
おっ
今月はSHが付いてるのか
久々に買ってみよう
684774ワット発電中さん:2010/04/26(月) 01:42:25 ID:JHqb35Wv
プログラム用のフラッシュ64kか・・・
sh7144乗り換えるにも、
今のプログラムが128k超えてるから、
フラッシュだけ載せかえ必須か・・・
685774ワット発電中さん:2010/04/26(月) 01:47:12 ID:Ta43kaDm
OS なしだとしたらすげえな、何作ってんだ?
686774ワット発電中さん:2010/04/26(月) 17:32:52 ID:ttdsaTvj
Enjoy CQ-SH7262
ttp://sourceforge.jp/projects/enjoy-cq-sh7262/

Renesas SH7262を搭載したCQ-FRK-SH2A(CQ出版Interface誌2010年6月号付録基板)向けの
各種組込みソフトウェアを開発するプロジェクトです。
TOPPERS/JSPおよびASPの移植、USB対応ライブラリやファイルシステムなどの開発を行い、
順次配布する予定です。
これらは、 SH7262と共通した内蔵モジュールを搭載する他のRenesas製CPUでも利用することが
可能です。
687774ワット発電中さん:2010/04/26(月) 17:47:41 ID:YIIVwosM
>>684
MODE-2限定でいうとCS1空間にフラッシュメモリ付け、内蔵ROMはフラッシュプログラミングかorフラッシュメモリの先頭にジャンプさせるんじゃだめなん?

と秋月の7144基盤のDBGMD端子で一週間悩んだ漏れが言って見る・・・orz
688774ワット発電中さん:2010/04/26(月) 21:34:46 ID:JHqb35Wv
>>685
上にも書いたけどカラー液晶制御に使っていて、
自作描画ライブラリとか、その他ライブラリ。
って、実はフォントデータが半分以上なんだけど…
まぁデータを別で持てば半分以下になるっちゅーことですね。
あとはライブラリをもっと細かく分割するとか。

>>687
64kのうち半分がモニタプログラムで、
残り32kはユーザーが使えると。

それ以上使いたければ基板外に増設しろとゆーことらしい。
なんで一応増設は可能と。
256kのフラッシュ積んでくれればよかったのに…
689774ワット発電中さん:2010/04/26(月) 21:49:16 ID:XU/PgaW4
DDRでも使えたらなぁ、とか欲を言い出したらきりがないね
690774ワット発電中さん:2010/04/26(月) 22:49:47 ID:4Er7aQtM
ふろくのSH-2Aを利用して、LED点灯の残像を利用した、メッセージ表
示をやってみようとした場合、LEDと抵抗を買ってきて、サンプルのチ
カチカみたいに汎用のポートにアサインすればできそうなレベルですか?
691774ワット発電中さん:2010/04/26(月) 23:15:05 ID:G/OwoJku
>>690
まずは勉強が必要なレベル
692774ワット発電中さん:2010/04/26(月) 23:34:52 ID:kRG+SBkw
>>688
SDカード付けてみたら?
693774ワット発電中さん:2010/04/26(月) 23:45:18 ID:4Er7aQtM
>>691
そうですか。
組み込みは、トライアンドゴーが簡単にできない世界ですね・・・。
694774ワット発電中さん:2010/04/27(火) 01:20:08 ID:PUsRu96d
データシートみると一部のポート以外は流せる電流がけっこう
小さいみたいだから、avrみたいになんでも直結ということは
考えないほうがよさそう。

695690:2010/04/27(火) 01:26:04 ID:b72/lXHd
>>694
そういうことですか、理解しました。
どうもありがとう。
696774ワット発電中さん:2010/04/27(火) 07:38:47 ID:K/soc9Z7
>>689
機能概要には載ってたけど
ピン出てないのかな
697774ワット発電中さん:2010/04/27(火) 19:05:11 ID:nXg/tvZ0
やっと手に入った。これだから地方は。
現役を離れて数年、どんだけ進化してんだSH-2よ…ちょっとショック
698774ワット発電中さん:2010/04/27(火) 19:57:13 ID:q0w+z2O5
好奇心で欲しいけど使い道がない。


……買っとくか。
699774ワット発電中さん:2010/04/27(火) 20:24:41 ID:nXg/tvZ0
たとえばGBAの液晶をこうやったら使えるよとかカニをこうやったら使えるよとかの情報を出しあったら楽しくなるだろうな
ゲーム機ならジャンクで手に入りやすいしものによっては量産可能かもしれんし
700774ワット発電中さん:2010/04/27(火) 21:00:04 ID:pjxWkBg5
データシート見た感じPSPの液晶とか普通に使えそうやね。
PSPの液晶は普通にデータシート転がってるし。

もっともそれを活かすのは大変だろうけど。

いままでSH7144で全部ソフトウェアでやっていて、(320x240の液晶)
たいしたもん描いてなくてもまったくフレームレートが足りてなかったんだけど、
これならヌルヌル動きそうだ。

しかしPSP液晶は修理の為の部品として需要あるせいか、高い…
高いせいであまり使う気がおきない。
701774ワット発電中さん:2010/04/27(火) 21:01:04 ID:1u1P66tS
>>688
ユーザー用プ格納容量は32KBなのか、少ないな
外部にプ用ストレージだな。プ、データはSDメモリにって感じの使い方になるのかな
702774ワット発電中さん:2010/04/27(火) 22:23:11 ID:PUsRu96d
sh2a付録基板、ユーザ用のフラッシュはちょっと小さめだけど、
ユーザ領域はelmさんのfatfsを使ったローダを作っていれておけばよさそうですね。
あと、データシートのlcdコントローラのところみてて思ったんだけど、
抵抗並べるなりしてdac作ってやればアナログrgbで画面が出るんじゃないだろうか。


703774ワット発電中さん:2010/04/29(木) 21:39:24 ID:pPfFa9p5
SH7144より3倍早い
704774ワット発電中さん:2010/04/29(木) 23:40:08 ID:zSlWvSyN
赤い…のか?
705774ワット発電中さん:2010/04/30(金) 01:40:16 ID:RAxjtl19
見てみたいものだな、ルネサスのSH2Aの性能とやらを
706774ワット発電中さん:2010/04/30(金) 01:56:05 ID:XL5TsL5V
CPUの性能の違いが、戦力の決定的差でないことを教えてやる
707774ワット発電中さん:2010/04/30(金) 11:30:45 ID:hPXou/uq
SPIフラッシュ外付けってことは、容量足らなくなったら
パターンカットして他のに交換すればいいわけ?
付属のHEWモニタをRAMに移して他のフラッシュに
焼きなおせないとだめだろうけど
708774ワット発電中さん:2010/04/30(金) 12:50:00 ID:ev8JZeyL
チェインロードすればいいんじゃね?
709774ワット発電中さん:2010/04/30(金) 14:41:24 ID:MseTCmzP
他のスレで
>今からH8系に手を染めても先(将来)がない。
という書込を見ました。
だとすると、これからは何が主流になるのでしょうか。
H8/3048, H8/3069, H8S/2633とやってきました。
Rxxでしょうか?
710774ワット発電中さん:2010/04/30(金) 15:31:30 ID:brj7ZcHn
言った奴に聞けよ
711774ワット発電中さん:2010/04/30(金) 16:57:08 ID:4GsL0cb0
x86です
712774ワット発電中さん:2010/04/30(金) 19:21:55 ID:Qxk79kOp
R8C, RX, SH じゃないの?
旧ルネサスで力を入れてたマイコンという意味なら
713774ワット発電中さん:2010/04/30(金) 19:35:33 ID:MseTCmzP
ありがとうございます。

>>711
では、286、386、486、586、どれがいいでしょうかね。

>>712
ありがとうございます。趣味人としては、秋月で売ってるものがデフォルトになってしまいます。
714774ワット発電中さん:2010/04/30(金) 19:40:15 ID:EW38gmrN
上をみるなら、64bitです
715774ワット発電中さん:2010/04/30(金) 20:39:03 ID:4Rezy69j
64bitってx86アーキティクチャだっけ?と思って調べたら
今のintel産って、AMDが作ったx86の64bit拡張の互換品なのね

そういやルネサスって、上位互換マイコン作って、下位をやめちゃうこと多い気がする。
枯れた石って考え方をしないのか、私の関わったマイコンの選択がマイナー側なのか…。
716774ワット発電中さん:2010/04/30(金) 20:58:54 ID:BFdjvTrw
78K0S
717774ワット発電中さん:2010/04/30(金) 21:00:24 ID:wInLEGve
RX はH8の上位互換じゃないけどね。ルネサスのWebの情報だと、

H8, H8S, H8SX, M16C --> RX
H8Tiny、R8C/Tiny --> R8C

RXは、M16Cの影響が強い気がする。 CISCマイコンについては 旧日立は負け組じゃないかな。
M16C もRXに置き換わるはずなんだが、なぜかまだ新製品がある。
M16CとR8CはCPUには互換性があるから、M16Cは残してもよい気がするんだけどな。

R8Cは基本思想は64K以内のメモリで納めるCPUなのに、むりやりメモリを拡張している
のが結構ある。 無理せず、M16C使えばと思うんだけどね。 I/Oが違うので仕方ないとは思うが。

H8系には、新製品も開発計画もないんだよね。 
718774ワット発電中さん:2010/04/30(金) 21:40:40 ID:EW38gmrN
今時、near,farの概念があるのはちょっと
719774ワット発電中さん:2010/04/30(金) 21:48:44 ID:A59FnTZB
トラ技増刊のH8SX/1655評価ボード、購入したのですが
本どうりにフラッシュ開発ツールキットインストール
して、いざサンプルプログラムを書き込もうと思ったら
認識しない・・。
※0 USB devices located とでる・・。

J1のジャンパーもショートしているし・・。

壊れているのかな
720774ワット発電中さん:2010/04/30(金) 21:50:26 ID:FoPfxObq
>>715

ルネサスじゃなくて日立時代の話だけど、
64180、あそこまで頑張ったのに
(ザイログに64180のセカンドソースとしてZ180を作らせるほど)
その後あっさり捨てたのは非常にもったいないと思った。
721774ワット発電中さん:2010/04/30(金) 22:17:44 ID:wInLEGve
>>718
M16Cの場合、 CODE と CONST をFAR  RAMは NEAR に割り付けてある。
FAR NEARが問題になるのは、 普通は文字列の処理くらいかな。 
使っている時にFAR NEARを意識する場面は意外とない。

R8Cだと64K以内に収まれば、全部 NEARで 扱えたと思った。

レジスタ構成をH8 と M16C/R8Cを比較すると M16C/R8Cの方が古くさい
感じするんだけどね。 H8も高速化のためにRAMのエリアの割付に多少の
工夫があるんだが、高速化は難しそうだからな。

>>720
64180も一時期流行ったけどな。 あんまり長くは使われなかったような。
早めに切り上げたのは正解だと思うが。
722774ワット発電中さん:2010/04/30(金) 22:18:26 ID:rXqFiOfq
>>720
三菱は8085から6502で今でも命令セット継承してるとか
723774ワット発電中さん:2010/04/30(金) 22:24:07 ID:HUYeM7Rs
>>715
>下位をやめちゃうこと多い気がする。

HD64180をこの最近まで製造していた。
724774ワット発電中さん:2010/04/30(金) 22:32:32 ID:EW38gmrN
H8のnearとかは書き方は面倒くさかったけど、使いやすかった。(RAMの方)
725774ワット発電中さん:2010/04/30(金) 23:27:26 ID:04IYI/7G
>>722
意味わからん。解説頼む。
726774ワット発電中さん:2010/04/30(金) 23:57:46 ID:MseTCmzP
トラ技増刊号の、H8SXを今後のデフォルトにしよう、
とも思ったけど、
0.4mmQFPでは、見えないから困る。
しかも秋月で扱っていないし
727774ワット発電中さん:2010/05/01(土) 00:38:01 ID:Ix8clbMh
現時点でのコスパと入手性を考えるとH8SXは無いな…
728774ワット発電中さん:2010/05/01(土) 03:06:23 ID:kaOeQMm9
みんな、幻のH16をお忘れか?
729774ワット発電中さん:2010/05/01(土) 04:17:25 ID:wVM5mX8o
俺のお客さんは64180でバンク殆ど全部使うようなASMの製品作ってしまって、
H8に移植できずに、Z180にフル乗せ換えして製造続けてます。合掌・・・
730774ワット発電中さん:2010/05/01(土) 08:38:32 ID:dsxMW2M9
もったいないと言えば、63C09ももったいなかった。
究極の8ビットCPUと言われた6809をさらに強化したCPU・・・
それもあっさり捨てられた。

63C09を搭載したMB-S1とか作っていたら、さぞ面白かっただろうなぁ。
731774ワット発電中さん:2010/05/01(土) 11:02:40 ID:BguFz9su
near(近い)とfar(遠い)という話が出ていますが、
なぜこんな定義があるのでしょうか。

アドレスbit幅が小さく済むので、
足の少ないマイコンのころ、アクセス速度的に有利だったということでしょうか。

今考えると、farだけで不便は感じないんですが
732774ワット発電中さん:2010/05/01(土) 12:08:00 ID:lDmmzz3w
今でもアクセス速度的に有利だよ。プログラムサイズ的にも。
733774ワット発電中さん:2010/05/01(土) 12:53:00 ID:BguFz9su
ありがとう。
へー、そうなんだ。
今でも、near/farを使い分けてるマイコンって、何があります?
Cで記述すると、その辺りは意識しなくてもいいんですよね?


734774ワット発電中さん:2010/05/01(土) 13:40:47 ID:lDmmzz3w
…いまでも16bitCPUなら普通に
735774ワット発電中さん:2010/05/01(土) 13:53:48 ID:UKjDxzDt
86なら small compact medium large huge とかあったよね。
736774ワット発電中さん:2010/05/01(土) 13:54:08 ID:VxK3lyV3
>>725
三菱はintelの8085のセカンドソースやってたが、そのうちにmostechnology
の6502の命令セットのマイコンもやりだした。それがルネの三菱系に継承
されてる、らしい。今はお蔵入りかもしれんが。

ソース
http://www.st.rim.or.jp/~nkomatsu/miscproc/MCS6502.html
>三菱のM37450
>組み込み制御用の1チップマイクロコンピュータですが、6502にビット操作命令
>と乗算命令などを加えて強化したCPUアーキテクチャです。
737774ワット発電中さん:2010/05/01(土) 15:21:12 ID:/95nPZCg
>>736
解説サンクス
じゃあやっぱり
>三菱は8085から6502で今でも命令セット継承してるとか
は日本語がおかしい・・・
738774ワット発電中さん:2010/05/01(土) 15:29:21 ID:VxK3lyV3
自然言語の曖昧さの範囲で矛盾ないと思っていますw
739774ワット発電中さん:2010/05/01(土) 16:22:04 ID:wVM5mX8o
>>732 でも、BSRよりJSRのほうが速かったりするんだよね。
740774ワット発電中さん:2010/05/02(日) 19:15:24 ID:acHhE6Pb
nearは近場限定のバイク便みたいなもんかな?
でfarは普通の宅配便。
741774ワット発電中さん:2010/05/02(日) 22:30:14 ID:hNP5bjUB
ジャンプ系命令は今でも相対(near相当)と絶対(far相当)はあるよ
大抵は相対の方が速いし、命令長も短くできる
条件付きジャンプはほとんどが相対(near相当)で実装される
無条件相対ジャンプ(far相当)とかの例外もある
コンパイラを使う限り意識する必要はない
ARMは全部相対でやってたりする
742774ワット発電中さん:2010/05/03(月) 01:01:36 ID:2LbXAPvi
>>741
>ARMは全部相対でやってたりする
それは、全部が絶対番地指示と同じではないの?
743774ワット発電中さん:2010/05/03(月) 23:00:19 ID:vsYVTgi0
68000でアセンブラを覚えた後、インテルの8bitCPUの仕事になって、
嫌になった覚えがある。
744774ワット発電中さん:2010/05/03(月) 23:18:29 ID:snW/kQ1/
どなたか教えてください。

SH-2A(SH7216)をモード2(内蔵メモリ有効)で使用し、
CS3空間(0x0C000000〜)にSDRAMを接続しています。
コンパイラはSHCです。

起動後は内蔵ROMのコードをSDRAMへコピーし、SDRAM上で動かしたいため、
リセット以外のセクション(P,C,D,B,R等)は全てSDRAM上に設定しています。

すると、コピー元となる内蔵ROMの番地でリンクしたコードは生成されません。
SDRAM基準のコード(0x0C000000〜)を無理矢理内蔵ROM(0x00000000〜)
へ書き込むことができれば、あとはなんとかできそうなのですが。

みなさんはどのような方法で内蔵ROM→SDRAMへのコピーを行っているのでしょうか。


745774ワット発電中さん:2010/05/03(月) 23:26:36 ID:xUyRHqHX
>みなさんはどのような方法で内蔵ROM→SDRAMへのコピーを行っているのでしょうか。
内緒な方法
746774ワット発電中さん:2010/05/03(月) 23:41:23 ID:Q559rOFp
dbsct.cをよく読みませう
747774ワット発電中さん:2010/05/04(火) 00:04:47 ID:0S+bMTiG
>746
dbsct.cはセクションをコピーする記述がのってますよね。
ただ、Pセクションを始めに内蔵ROM上へ設定してしまうと、
P(内蔵ROM)→P(SDRAM)
のコピーすることはできても、SDRAM上で動くコードにはならないので
リンカでのセクションは全てSDRAMへ設定しています。

考え方が間違ってるのでしょうか。
748774ワット発電中さん:2010/05/04(火) 00:11:14 ID:M6rLBDzo
SDRAM上で動かしたいのに、Pを内蔵ROMに設定するの?
Dセクションみたいにすればいいのでは
749774ワット発電中さん:2010/05/04(火) 00:17:45 ID:0S+bMTiG
>748
セクションは全てSDRAM上に設定しているのですが、
SDRAMへ展開するまでのコード(P,C,Dセクション)の仮置きを、
をどのように内蔵ROMへ展開すればよいのか分からないで困っています。
750774ワット発電中さん:2010/05/04(火) 00:33:16 ID:M6rLBDzo
hewでPとかの移動はやったことないけど、(gccならある)
Dセクションの設定を真似すれば、出来るんじゃないの?
で、dbsect.cでPとかの移動を追加って感じか
751774ワット発電中さん:2010/05/04(火) 00:57:32 ID:uIS2BtU8
そういや当たり前すぎて考えたことなかったけど、どこのアドレスでも動くようにできないの?
MS-DOSとかUNIXとかのように
752774ワット発電中さん:2010/05/04(火) 00:59:46 ID:9WjkjlkP
なぜフラッシュから実行しないのかね・・
SH7216の場合キャッシュがないからSDRAMに
コードを移すと大幅に性能が劣化するが。
753774ワット発電中さん:2010/05/04(火) 02:00:09 ID:M6rLBDzo
hewのリンカは決め打ちしてるみたいだから、
コード領域とかの移動は無理っぽい。意外
754774ワット発電中さん:2010/05/04(火) 02:11:06 ID:uIS2BtU8
SH-4なCEとかどうやってたんだろう
755774ワット発電中さん:2010/05/04(火) 02:14:59 ID:0S+bMTiG
>750
出来そうで出来ない。といった感じです。
一工夫必要なのではないでしょうか。
(単なるセクションのコピーならできます。)

>751
ごめんなさい、全然わかりません。

>752
おっしゃる通りです。(ただ、選定の時点では気がつきませんでした。)
今回の試作で動作するものが出来たら、
CPUはキャッシュを備えたものに変更するつもりです。
756774ワット発電中さん:2010/05/04(火) 02:16:47 ID:0S+bMTiG
>753
リンカによってはコードのコピーに対応できるのもあるのですね。
また1つ勉強になりました。
757774ワット発電中さん:2010/05/04(火) 02:58:29 ID:bw95JJXd
>をどのように内蔵ROMへ展開すればよいのか分からないで困って
ROMにしたいソースコードに適当な名前のセクションを指定して、
セクション追加してアドレスを自分で指定するだけ。

GCCのリンカスクリプトと仕組みは一緒。
758774ワット発電中さん:2010/05/04(火) 03:33:52 ID:0S+bMTiG
>757
私の説明がわるいのでしょうか。
繰り返しになりますが、
セクションはSDRAM領域を指定していながら、
内蔵ROMへ展開したいのです。

例)セクションP(0x0c001000〜)の内容を
内蔵ROM 0x00001000へコピー

それとも他にSDRAM上へコードをコピーするうまい手段があるのでしょうか。
759774ワット発電中さん:2010/05/04(火) 04:23:41 ID:oo9RtOR2
内蔵ROM部分はそのまま焼く。後半は別モジュールとしてLINKして、
SDRAM空間でLINKした部分はflashライタで 「オフセット付き」 書き込みという機能が
ありませんか? -(0x0c000000) オフセットして書き込め、という指示。

安藤のROMライタとかには付いてました。この機能が無いと格納空間と実行空間が
異なる実行プログラムは作れないことになりますよね。今はリンカにこの機能が無い
ぶん、ローダ/ライタにその機能を持たせることで解決を図ることが多いようです。
760774ワット発電中さん:2010/05/04(火) 04:34:20 ID:ETlEuG/i
何言ってるのか判らない。
SDRAM上で動くように作って、それをSDRAMにロードするだけなのに、
なんで内蔵ROMに展開すんの?
リンカ相当を自分で抱えるならともかく、
ローダーと本体プログラムは普通は別々に作るもんだよ。
ID: uIS2BtU8への回答も兼ねてる。
PCにだってNTLDRやGRUBとかあるでしょ。
CEでも同じ。
761774ワット発電中さん:2010/05/04(火) 04:35:35 ID:ETlEuG/i
と、>>758へのレスね。
762774ワット発電中さん:2010/05/04(火) 04:53:37 ID:M6rLBDzo
初期化付きRAMの定義は
-rom=D=R
こうだから

-rom=P=PR コード
-rom=C=CR 定数
とかして
-start=P,C,D/0800,PR,CR,R,B/SDRAMのアドレス
みたいにすれば、出来そうだね
転送はdbsect.cにP,Cを追加すればいいみたい

763774ワット発電中さん:2010/05/04(火) 11:17:07 ID:bw95JJXd
>セクションはSDRAM領域を指定していながら、
>内蔵ROMへ展開したいのです。

何がしたいのかよくわかってないのだけれど、
プログラムの一部はROMで一部はRAMに置きたいってだけじゃないの?
このプログラムはPセクション、このプログラムはP_ROMセクションとかに
わければいんじゃねって話。

どちらもPセクションにしなければいけない理由がわからない。

それかプログラム2つにわけたら。
起動用プログラムとSRAM用プログラム。
大体SRAMには何処からどーやってプログラム転送してんの?
まさかPCのモニタプログラム?
764774ワット発電中さん:2010/05/04(火) 11:25:41 ID:kgDjCi5p
>>752
そうだよね。 外部記憶装置からロードするのならともかく、内蔵ROMから 外付けRAMに
プログラムをコピーして実行するなんて、無意味としか思えないよな。
765774ワット発電中さん:2010/05/04(火) 13:05:44 ID:9WjkjlkP
まあ>>744がやりたいことはわかるんだけどね。

SH-4みたいにオンチップのフラッシュがないタイプでは外付けの
低速フラッシュからSDRAMにコードをコピーしてから実行させる
手法は普通。ただSH7216での必要性については前述の通りだが。

その手法については>>762でも書かれているけど詳しくは
「SH ROM化支援機能」などで検索してみるといい。
766774ワット発電中さん:2010/05/04(火) 14:05:11 ID:bw95JJXd
>ただSH7216での必要性については前述の通りだが。
だから皆わからんいってるんでしょう。

>>762 765
というかそれぞれ別のメモリ空間で動くプログラムが
同じセクションでコンパイル、リンクされてたら動く筈ないのでは?
セクションのアドレスがROMだったらROMでしか動かないし、RAMだったらRAM。
ジャンプとか全部相対アドレスで書かれてるんじゃないんだから、セクション分けるしかないでしょ。
767774ワット発電中さん:2010/05/04(火) 15:32:23 ID:JxCsxko2
768774ワット発電中さん:2010/05/04(火) 17:07:28 ID:0S+bMTiG
多数のご意見ありがとうございました。

>759
オフセット付きのライタがあれば、解決できそうです。
早速機能がついているか確認してみます。

>762
確かに転送はできるのですが、それでSDRAM上で動くのでしょうか。
セクションPを内蔵ROM上に設定すると、
JUMP命令でまた内蔵ROMへ戻ってきてしまうような気がします。

>763
VECTセクション(SDRAM上では0x0C000000 これを内蔵ROM0x00000000領域に焼きたい)で
JUMP命令等を一切使用せずにバス初期化等を行い、
全てのセクションをSDRAMへコピーし、SDRAM上のコードを実行しようと考えています。

>764
はい、今回は無意味なものになってしまうかもしれません。
ただ、内蔵ROMを持たないCPUへ移植することを考慮して、
今回の手法で動かしたいのです。

>765
はい、もう一度検索してみます。

>766
内蔵ROMへ展開するコードは全てSDRAM上のアドレスでリンクされていることを前提と
しているため、内蔵ROMで動いている間はJUMP命令等は一切使用せずに
セクションのコピーだけをしてSDRAMへ移動させるつもりです。

>767
これからじっくり拝見させていただきます。

769774ワット発電中さん:2010/05/04(火) 17:37:34 ID:0S+bMTiG
744です。

みなさんのご意見を参考にしながら
ROM化支援について、その内容をもう一度確認しました。

どうやらリンカオプションに関する理解が足りなかったことが、
今回みなさんを混乱させてしまった要因だったようです。

762さんが書かれたように
ROM化支援機能で-rom=P=PRを指定することで、
Pで宣言した「シンボルの参照がRAM領域のアドレスを指す」ように
自動的に変換してくれるようです。

ありがとうございました。
この設定でもう一度チャレンジしてみます。
770774ワット発電中さん:2010/05/04(火) 17:47:10 ID:bw95JJXd
>内蔵ROMへ展開するコードは全てSDRAM上のアドレスでリンクされていることを前提と
>しているため
だからー、そこをなんで気にするんだか・・・
ROMへ展開するコードはROMのアドレスでリンクされてることを前提として作ればいいだけじゃん。
ROMで動くようなプログラムを生成する為にセクション分けて
リンクすればって何度もいってるんだけど・・・
PセクションはRAMにP_ROMセクションはROMに割り当てる。
ROMで動かしたいプログラムはP_ROMセクションに割り当てる。

765がいってるROM化支援機能や、767が書いてるのはまさにそれで、
プログラム毎にセクション分けてるだけなんですけど。
771774ワット発電中さん:2010/05/04(火) 17:55:38 ID:M6rLBDzo
最終的にSH3やSH4で何かやりたいための下準備してるんでしょ。
DセクションはROM化支援機能を使ってるんだけどね。(ROMー>RAMのコピー)
772774ワット発電中さん:2010/05/05(水) 02:00:48 ID:vgghEWH5
windows7でinterfaceのsh2a付録使ってる人います?

なんか正式には対応してないそうですが、
HEWからデバッグまで一通り普通に動くならそろそろ
変えようかな・・・
773774ワット発電中さん:2010/05/05(水) 10:28:58 ID:FnGTle78
HEWをユーザー登録しないでダウンロードできるところ
ありませんか?
774774ワット発電中さん:2010/05/05(水) 10:35:07 ID:CBhhU4ZZ
乞食クレクレ厨にやるHEWは無い。

by ルネサス
775774ワット発電中さん:2010/05/05(水) 12:24:56 ID:FnGTle78
せこいな
776774ワット発電中さん:2010/05/05(水) 12:58:27 ID:DaX+5Njt
セコイアは北米トヨタのピックアップトラック。M16C使ってるから。
777774ワット発電中さん:2010/05/05(水) 13:00:43 ID:P4whKMS7
情報も返さずタダでクレってほうが、せこさなら上位じゃね?

そういえば、ユーザー登録って何に使うんだろうか。
最低限情報管理的な何かが要るのかもしれんけど。企業だし。
778774ワット発電中さん:2010/05/05(水) 13:11:05 ID:FnGTle78
仕方ないから偽名で登録するか
779774ワット発電中さん:2010/05/05(水) 13:35:01 ID:iRblctMW
マジでせこいよね。無料ダウンロードなんかやめればいいのに
780774ワット発電中さん:2010/05/05(水) 15:19:48 ID:CBhhU4ZZ
ルネは日立時代から(三菱は知らんけど)
「個人や、ほとんど個人に近いような零細企業は相手にしません」
ってオーラを放出しまくっていたからなぁ。

個人情報の入力は、金にならん顧客をふるい落とすための
初段フィルターなんだろうね。

入力した個人情報が何に使われているのか不気味ではあるけれど、
割り切って入力できない奴ははなから相手にされないと。

アルテラやザイリンクスの開発ツールも個人情報入力は必須。
そういう世の中の流れなのかも。
781774ワット発電中さん:2010/05/05(水) 16:05:59 ID:MCtNCt6Q
>>780
 入力して拒否されたのならまだしも、欲しいソフトが入手できたなら、それで良いんじゃない?
個人情報も大事だが、利用価値考えたら大手のメーカーがリスク犯してまでおかしなことする
とは思えない。

782780:2010/05/05(水) 16:56:20 ID:CBhhU4ZZ
>>781

さすがに名簿業者に売る、なんてことはしないと思う。
でも、何の目的で使うのかわからないけどひたすら情報を
集めまくるのが不気味だと思います。
783781:2010/05/05(水) 17:29:26 ID:MCtNCt6Q
>でも、何の目的で使うのかわからないけどひたすら情報を
>集めまくるのが不気味だと思います。

 今後、顧客として自分達に利益を提供してくれる相手を探している。
それ以外の細かな目的、例えば今後わが社に入社希望してくれる優秀な人材や
それに協力してくれる大学の担当者には多少のサービスがあるかもしれない。

 ひょっとして、過去に振り込め詐欺や架空請求に引っかかったこと無いですか?
一部上場企業の極めて常識的な経済活動に何をそんなに恐れている?

784774ワット発電中さん:2010/05/05(水) 18:29:55 ID:P4whKMS7
登録してると、サポートとかのメールがちょくちょく来るな。
バグの埋まったコードを後々までバラまかれるのを抑止するとかいうのもあるかもしれんなあ、とか思ったり。
ちーさい企業としては、いい商社を挟むと楽かもしんない。

顧客のサーチとしてはNECがやたら懸命だった気がするが、さてこれからどーなるかしら。
785774ワット発電中さん:2010/05/06(木) 18:26:45 ID:bESIfzw8
>>782
「名前」の登録は必要だろうけど,「本名でなくてはならない」とは
書いてないしな。ペンネーム/ビジネスネームでも使っておけば良い。
(別に住民票だの戸籍謄本出せといわれてるわけでもなし)
電話はFletsなんかにしておくと追加番号は月100円だから「登録用電話番号」
にでもしておくといい.
786774ワット発電中さん:2010/05/06(木) 21:30:22 ID:ME4ewrQm
>>785
凄いへ理屈、会社でもそんな調子?
登録が嫌なら使わない。それで良いじゃね
787774ワット発電中さん:2010/05/06(木) 21:49:28 ID:cNWiDG0+
ルネはよくやってるよ、NECが今一つだったから、
今後どうなるのかに期待
788774ワット発電中さん:2010/05/07(金) 20:14:20 ID:pGm9613A
>>786
会社でも偽名使ってますが、何か?
789774ワット発電中さん:2010/05/07(金) 21:27:05 ID:Zbd5cZz6
在日か
790774ワット発電中さん:2010/05/07(金) 22:50:47 ID:zScST4bO
実際の所、適当な情報でもDLできるけどな。
791774ワット発電中さん:2010/05/08(土) 21:08:08 ID:08HarxvC
なぜこの間(デザインウェーブARM)と違うminiUSBなんだYO!!
792774ワット発電中さん:2010/05/08(土) 21:12:48 ID:3C8C696I
USBホストが付いてるからじゃね?
でもminiABコネクタは普通のminiBケーブル挿せばクライアントに、miniA
ケーブル挿せばホストになる素敵仕様だけど、御不満?
793774ワット発電中さん:2010/05/08(土) 21:23:50 ID:08HarxvC
あれっ、これで挿さるんだね
ごめんなさい知りませんでしたorz
794774ワット発電中さん:2010/05/10(月) 02:29:29 ID:okwwyMR3
USBのサンプルコードとかフリー提供されてないのかな?
やっぱり、営業にお問い合わせくださいとかそういうパターン?
795774ワット発電中さん:2010/05/10(月) 06:35:12 ID:LUMSt653
アプリケーションノートが出てるから頑張って実装
<http://japan.renesas.com/products/mpumcu/superh/sh7260/sh7262/Application_Notes.jsp>
796774ワット発電中さん:2010/05/10(月) 23:55:29 ID:okwwyMR3
>>795
サンクス。
1から実装しないと駄目なのか・・・面倒臭いなぁ。
サンプルソース位用意しておいてくれたらいいのに・・・
797774ワット発電中さん:2010/05/11(火) 00:05:14 ID:UfzjYoiT
interface付属のボード試してみたんだけど、
なんだこの遅さは・・・

普通にプログラム転送してから実行可能になるまでとか、
ブレークポイント付けたりが鬼のように遅い。
20〜40秒くらいかかる・・・
HEWが何やってもすぐ30秒以上固まる。
これってオレだけ?
windows2000なのがイカンのかなぁ。
798774ワット発電中さん:2010/05/11(火) 00:15:47 ID:Z3uv5FFJ
USBのノイズによるエラー&再送頻発かな
パソコン変えてみれ
799774ワット発電中さん:2010/05/11(火) 02:01:55 ID:t6piaLiy
>>797
中身はみとらんが、5/7に2000andXP用のドライバをUPしたと、
特設ページでアナウンスされとるよ。
それで治るとは思えないけど。
800774ワット発電中さん:2010/05/11(火) 02:50:16 ID:UfzjYoiT
>>798 799
サンクス。
ドライバは既に変えてみたけど駄目だった。
てか、一旦新しいの入れると削除しても実は新しいのが入ったまま?

どうも最初の一発と、ブレークなどの機能を使うと超遅い&頻繁にバグる。
ちゃんと測ったら起動まで2分、ブレークポイント付けるのに40秒。
ステップ実行は一瞬。プログラムの読み直し〜再実行は10秒くらい・・・

取り敢えずXPマシンに入れてみるか・・・ これならシリアルターミナルデバッグの方がまだマシ。
てか今回はモニタプログラムのソースがないから起動時のピン設定もままならない。
なんでソース公開してくれないんだろ? 非公開にするほどのもんでもないと思うんだけど。
シリアル用デバッグモニタ頑張って7262に書き換えようと思ったらアセンブラでビックリ。
801774ワット発電中さん:2010/05/11(火) 13:14:40 ID:qS55Ce5E
Interface付録SH2Aで遊んでますが、内臓USB経由の仮想シリアルポートって、
暴走したりリセットするたびに出たり消えたりするようなんで、
開発上非常にやりにくい気がするんですがそういうもんですか?

マイコンが暴走(?)→仮想シリアルポート消滅?(or無反応)→HEW固まる→プロセス落とし
を繰り返してつらくなってきたんですがorz
802774ワット発電中さん:2010/05/11(火) 13:53:20 ID:nRzirAaK
そういうものです。

線引っ張り出してSCIF使えばいいんでないかい。
HEWで使えるかどうかわからんけど。
803774ワット発電中さん:2010/05/11(火) 15:25:30 ID:UfzjYoiT
>>801
おー使ってる人発見。
私も似たような感じ。
シリアルポート消滅というより、マイコンと通信出来なくなってHEWが固まるって感じですかね。
暴走した時ならわかるけど、普通にブレークポイントつけたりするだけで通信出来なくなるし・・・

ブレークポイントとか初回起動時の反応時間はどーですか?

804774ワット発電中さん:2010/05/11(火) 15:48:08 ID:yXtCgeo1
Interface付録SH2Aで遊びたいのですがHEWがユーザー登録しないと
ダウンロードできないので遊べません。
805774ワット発電中さん:2010/05/11(火) 16:11:26 ID:qS55Ce5E
>>802

やっぱそうですか。

>>803

初回起動時も含めて数秒も待たされるなんてことは一切ないような。

非公式サポートの 64bit 7 で使ってるんでそのせいでいろいろ不安定だと信じたいんですが…。
シリアルデバッグモニタのソースは公開されなさげですかねぇ〜。
SCI経由にだけでも切り替えたい…。
806774ワット発電中さん:2010/05/11(火) 17:49:18 ID:z/aJlejR
>>804
自分でHEWの代わりになるものを作ったら遊べるよ
807774ワット発電中さん:2010/05/11(火) 21:21:34 ID:PfqJvIiB
>>804
2005年のSH2Aボード(通称吉田基板)には付いてきてたよ。
808774ワット発電中さん:2010/05/11(火) 22:48:35 ID:rbp0pzJQ
あらあらw
ttp://www.kumikomi.net/interface/editors/2010/05/faq07hew3.php


>>804
つ Gcc

ttp://www.kumikomi.net/interface/editors/2010/04/lcd.php
ttp://sourceforge.jp/projects/enjoy-cq-sh7262/releases/

HEW使わない場合の付録SH-2A基板へのダウンロード方法は知らんけど
809774ワット発電中さん:2010/05/11(火) 23:12:13 ID:Z3uv5FFJ
>>805

SH2はあった。カスタマイズできるのかな?
<http://hamayan.ddo.jp/~hamayan/so-net/download.html>
810774ワット発電中さん:2010/05/11(火) 23:44:00 ID:zVip97kP
GDB対応モニタ作ってSCIで使ってるよ。
HEWの操作性が恐ろしく悪かったんで、eclipse上で作った。
で、ほとんど target sim で検証した。
HEWはダウンローダとシリアル通信ドライバのデバッグで使ったくらい。
811774ワット発電中さん:2010/05/12(水) 01:33:43 ID:9QV08THQ
むむむ・・・・HEW環境から付録SH-2AにHOS V4載せようとしてるんだが、割り込み周りで中々前に進まない・・・
秋月のH8やSH2にHOS載っけるのは偉大なる先人様のおかげで間単に出来たのになぁ
根本的な勉強不足を痛感中
812774ワット発電中さん:2010/05/12(水) 02:21:13 ID:r5HA9qrl
FAQ1のabort現象で開発できないんだよなぁ
早く解決してくれ

XPなのに・・・
813774ワット発電中さん:2010/05/12(水) 20:19:27 ID:Bpgshxzt
>>811
レジスタバンク使わなきゃSH2とほとんど同じだろう。
814774ワット発電中さん:2010/05/13(木) 23:53:53 ID:WQad51HK
コレ↓ 付属SH-2Aで試して動いてる人いますか?
ttp://sourceforge.jp/projects/enjoy-cq-sh7262/releases/
815774ワット発電中さん:2010/05/15(土) 01:17:19 ID:+gqZwJRh
SH2AのDMACでSDRAMとやり取りできますか?
816774ワット発電中さん:2010/05/15(土) 01:35:38 ID:CR+xx0oH
データシートに書いてある
817774ワット発電中さん:2010/05/15(土) 01:38:05 ID:+gqZwJRh
バスにつなげたRAMならできるってことでしょうか?

ダイレクトメモリアクセスコントローラは、DACK(転送要求受け付け信号)付き外部デバイス、外部メモリ、
内蔵メモリ、メモリマップト外部デバイス、および内蔵周辺モジュール間のデータ転送をCPU に代わって高速に
行うことができます。
818774ワット発電中さん:2010/05/15(土) 07:55:00 ID:zVdC85Jq
できるよ
819774ワット発電中さん:2010/05/15(土) 12:06:40 ID:JKwqcMy+
したらuClinuxいけんじゃね
がんばれ>>817
820774ワット発電中さん:2010/05/15(土) 19:19:19 ID:h9NQAH3K
付録SH2Aで24bit 44.1kHzのシリアルオーディオ通信って可能?
821774ワット発電中さん:2010/05/16(日) 01:53:55 ID:b4nw56pH
可能だけどタイミング生成も含めて外部にCodec ICが必要。
822774ワット発電中さん:2010/05/16(日) 18:21:21 ID:9wBuQJQi
SH2Aがマスターだとだせないんですね。
823774ワット発電中さん:2010/05/16(日) 21:59:22 ID:7ThLxC55
I2SとDACあるのにできないの?
824774ワット発電中さん:2010/05/16(日) 22:15:03 ID:b4nw56pH
SH2Aをマスタにする場合はX4を実装する必要がある。
825774ワット発電中さん:2010/05/17(月) 18:28:19 ID:fVMSER2P
826774ワット発電中さん:2010/05/17(月) 23:37:12 ID:bvA7xqvD
どうも、Abortの人です。
>>825 の対策で正常動作するようになった!
827774ワット発電中さん:2010/05/20(木) 02:08:14 ID:DRSQdN+0
Interface公式GDBスタブきてたのね

自前で実装始めたトコだったけど、色々イミフだったんで丁度よかったヽ(・∀・)ノ
828774ワット発電中さん:2010/05/25(火) 22:29:06 ID:GA/8R2b/
付録基板のLEDがポート直でドライブされてるけど、まずくない?

電流制限抵抗値が小さいよね。SHの仕様書だとIOL = 2mAになってる。

SML-310のVfが2V程度だから1.3/390 = 3mA
829774ワット発電中さん:2010/05/25(火) 23:37:03 ID:0FFZIjRU
>>828
R13
830774ワット発電中さん:2010/05/26(水) 00:10:26 ID:TWvVfMSS
そのR13の抵抗値じゃ絞りきれてないって事を言いたいんだが
831774ワット発電中さん:2010/05/26(水) 01:11:29 ID:6K3maHEy
普通にまずいように見えるね。
大電力用のポートはちゃんとあるんだけど、使ってないし。
所詮それがC級クオリティ。

でも、今回は今までの中じゃかなりマシなほうじゃない?
これだけの高性能CPUなのにロム小さすぎなのがC級。
50円上げて256kとかにしてくれればよかった。
このROMとかCPUって全部メーカーからの提供品なんすよね?
832774ワット発電中さん:2010/05/26(水) 02:35:21 ID:5kvVb26b
ふっふっふっ…
やっとLEDの件に気が付いたかね。


私は発売初日に気が付いたけど3歩あるいて忘れてたよ
833774ワット発電中さん:2010/05/26(水) 02:40:42 ID:9TgSAcYu
VOL がmax 0.4V となっていますが、
それで計算すると (3.3-2.2-0.4)/390 = 1.8mA となりますね。
VOLが実際にどのくらいになるかわかりませんが、、、
834774ワット発電中さん:2010/05/26(水) 21:20:00 ID:OQvSISAT
大人の科学のjapaninoに触発されて、Interface6月号買ってみた。

とりあえず、チカチカだけ。敷居が高かった・・・・・・
835774ワット発電中さん:2010/05/26(水) 23:58:19 ID:+JoT6S6c
俺も6月号買ったけど、使い方がわからなくて
せいぜい裏返して見たりするくらい。袋も開けてない
836774ワット発電中さん:2010/05/27(木) 00:30:57 ID:z1jrnnBr
なんか適当にやってたら、アプリがお手軽に作れるソフトウェアと違うものだから、覚悟が必要。
837774ワット発電中さん:2010/05/27(木) 01:30:03 ID:C7qm86Az
実際にこんなことを業務で作ったら左遷だろ?とか、こんなガラクタ子供だって騙せないやとか
アムロ父の化石級ジャンクを目の当たりにする、そんな石もう無ぇよとか
もっとこう、実用的な用途で実践的内容で、子供だましじゃない作例ってないものか・・・。
838774ワット発電中さん:2010/05/27(木) 01:37:22 ID:chme9kNZ
エンジンだけあっても走らせるようにするには色々足りないんだ
839774ワット発電中さん:2010/05/27(木) 01:52:58 ID:z1jrnnBr
>>837
ハロでも作ろうよw
840774ワット発電中さん:2010/05/27(木) 02:21:18 ID:v2gW8D/A
映像、音楽系の自作ネタはちょっと食傷気味だな、
秋葉で2000円台でタッチパネル付き動画プレイヤー買えちゃう現状を見ると更に、、

いやまぁ、俺自身は秋月液晶にカラーバー表示してピコピコ音出すのがやっとなんだけどさ…
841774ワット発電中さん:2010/05/27(木) 07:57:56 ID:4AWcGMYt
Of course it runs <operating system here>
842774ワット発電中さん:2010/05/27(木) 20:39:08 ID:/C5q6oyT
アキバに行けない奴が悪い
843774ワット発電中さん:2010/05/27(木) 22:41:09 ID:YzQ0Phr2
ピンファンクションコントローラで各端子に機能をアサインできますが、
違う端子に同じ機能をアサインしたらどうなるんでしょうか?
844774ワット発電中さん:2010/05/27(木) 23:20:36 ID:1Xz82kW/
>>843
マニュアル読め。

うろ覚えだが、そういうことした場合
「不定」な動作になるからヤメロ、
と書いてあったと思う。
845774ワット発電中さん:2010/05/29(土) 12:06:15 ID:h9nWA2eE
6月号のLED
/*--- PCDR0設定 PC8のLEDを消灯 ---*/
PORT.PCDR0.BYTE.H |= 0x01u;

/*--- PCIOR0設定 PC8のLEDをを出力に設定 ---*/
PORT.PCIOR0.WORD |= 0x0100u;

/*--- PCCR2設定 PC8の制御設定 ---*/
PORT.PCCR2.WORD &= 0xFFF0;

なんで&と|を使い分けてるんでしょうか?
846774ワット発電中さん:2010/05/29(土) 12:19:23 ID:fyoKs+5X
>>845
自分の予想は?
847774ワット発電中さん:2010/05/29(土) 13:06:25 ID:h9nWA2eE
うーん。わからないです
848774ワット発電中さん:2010/05/29(土) 15:42:19 ID:AABKAiE9
>>845
ここで質問するべき内容じゃ無い。
C言語の入門書でも読んでから出直し。
「論理演算」とか、「ブール代数」とかで検索すれば答えが見つかる。
849774ワット発電中さん:2010/05/29(土) 15:57:10 ID:h9nWA2eE
論理演算なのはわかります。
850774ワット発電中さん:2010/05/29(土) 16:06:17 ID:fyoKs+5X
>>848
じゃなくて、

/*--- PCDR0設定 PC8のLEDを消灯 ---*/
PORT.PCDR0.BYTE.H |= 0x01u;

ではなくて、
PORT.PCDR0.BYTE.H = 0x01u;

にしてないのはなぜですか?というのがQの本質だと推測している。
ちがうかな?
851774ワット発電中さん:2010/05/29(土) 16:47:45 ID:n+CSjYLE
>>850
本当に知りたいのは、きっとそれだろうな。
852774ワット発電中さん:2010/05/29(土) 16:55:13 ID:h9nWA2eE
はい。それです。

&をとるのは前の状態を維持したまま、狙ったところを変化させたいためかな?と思ったんですが
853774ワット発電中さん:2010/05/29(土) 16:56:36 ID:xoeNvBOb
普通は、
変数 |= 値;
変数 &= ~値;
というイディオムを使う。
>>845を書いた奴は素人。
854774ワット発電中さん:2010/05/29(土) 17:18:39 ID:h9nWA2eE
直接代入はNGなのですか?
855774ワット発電中さん:2010/05/29(土) 17:19:08 ID:JVh0m+O0
ビット演算ね
|= も狙いはそれであってる
856774ワット発電中さん:2010/05/29(土) 17:46:52 ID:h9nWA2eE
&= ~の狙いはなんですか?
857774ワット発電中さん:2010/05/29(土) 17:53:39 ID:JVh0m+O0
同じだよ。書き方の問題
後は自力で考えてみよう。難しいことじゃないので理解できるはず
858774ワット発電中さん:2010/05/29(土) 18:05:31 ID:fyoKs+5X
>>854
俺がPGRしたなら、今回の場合は制御したい端子機能1つなので、全部直値代入でOKだと指摘する。
また、明示的に未使用のビットは、マニュアルに書いてある推奨値を入れるべきなんで、直値で
いいかと。
どっかに初期化処理があって、(例えばCPUリセットで0で初期化されるとしても)0が設定される
なら、>>845でもいいかなぁと思うよん。

疑問に思ったのは良いこと。
859774ワット発電中さん:2010/05/29(土) 23:12:17 ID:8MVXrhKl
PGRってプギャーですか?
860774ワット発電中さん:2010/05/30(日) 00:34:36 ID:wcl8VfGw
付属のマイコン買って来た。
レギュレータがほんのり熱くならないかい?
861774ワット発電中さん:2010/05/30(日) 01:03:09 ID:1M4UlR7l
ほんのりならええやん
862774ワット発電中さん:2010/05/30(日) 02:38:15 ID:gYCbIHHh
レギュ熱くなるね
最初びびった
863774ワット発電中さん:2010/05/30(日) 05:15:29 ID:VdbQd5Ag
>>856 |= 0x01; でONしたのと同じ所をoffするんだよ というのが
&= ~0x01; と書けば判りやすいでしょ。 これを&= 0xFE; と書くと、
FEは01の反転だな・・・そうか、01の場所をoffするのか、という思考のムダを
誘発するから。
864774ワット発電中さん:2010/05/30(日) 09:06:50 ID:OXswJS+a
smalightってお幾らなの。
865774ワット発電中さん:2010/05/30(日) 10:27:06 ID:PvCln2Uz
>>863
 &= ~0x01; という書き方をしても、&= 0xFE; と書いても、
コンパイラは全く同じコードを吐いてくれるのでしょうか?
それが怖いので、僕は &= 0xFE; を使っているのですが。

また、aaa = 0x01u; の「u」は、どのような意味なのでしょうか?
LongのLは見たことがありますが、uは初めて見ました。unsigned のuでしょうか。
動作スピードが変わらなければ、今後もuなしで行きたいと考えています。
866774ワット発電中さん:2010/05/30(日) 11:08:37 ID:4YcvXPZc
ASM吐いてコード見ればいいのに
867774ワット発電中さん:2010/05/30(日) 12:28:00 ID:VdbQd5Ag
>>865 同じコード吐きますよ。「演算子の優先順位」 という所を見れば解ります。
868774ワット発電中さん:2010/05/30(日) 12:54:32 ID:PvCln2Uz
>>866
ありがとうございます。
>ASM吐いてコード見ればいいのに
すみません、言葉の意味がわからないです。
ASMとは何のことでしょうか?
すみません、C言語だけでやっているので、教えてもらえないでしょうか?

0x01uのuは、unsigned のことで合っているでしょうか?
869774ワット発電中さん:2010/05/30(日) 13:41:03 ID:Ti23UuGo
コンパイラの設定で、アセンブラソースを吐くようにできる
objでもasmでも、アセンブラが受け付ければ普通にリンクまで完了するはず。

uはunsignedでいいはず…。
870774ワット発電中さん:2010/05/30(日) 14:01:30 ID:PvCln2Uz
ありがとうございます。
ASMはassemblerの略だったんですね。初めて知りました。
Cばっかりでやっているので、アセンブラのことは・・・・
ありがとうございました。
871774ワット発電中さん:2010/05/30(日) 14:07:46 ID:fspgFcPH
いえいえ
872774ワット発電中さん:2010/05/30(日) 14:21:44 ID:vfoPjS9G
SH7262にてIRQ0を使って割り込み処理をさせたいのですが、うまく動作しません。お知恵をください

PJ1をIRQ0として使っています。 通常は10kでプルアップされていて、スイッチを押すとGNDに落ちます。


ポートの設定は以下の通り

//PJ1をIRQ0に設定
PORT.PJCR0.WORD = 0x0060;

//立下りエッジを検出
INTC.ICR1.WORD = 0x0002;

//優先度を15に設定1
INTC.IPR01.BIT._IRQ0 = 15;

//レジスタバンクの使用を許可
INTC.IBCR.WORD = 0xFFFF;

実際の関数はこれです。(7セグ光らせる)
void int_irq0(void){

PORT.PBDR0.WORD = segment[4];


}
873774ワット発電中さん:2010/05/30(日) 19:15:58 ID:fspgFcPH
SH2A基板て、消費電力どれぐらい?
874774ワット発電中さん:2010/05/30(日) 20:28:46 ID:eEHv0G3m
立ち上がり、立ち下がりって、普段使ってるし、意味もわかるんだけど、
立ち下がりって、変な日本語って思う
875774ワット発電中さん:2010/05/30(日) 20:43:31 ID:uEdEuWO5
>>873
データシートによると Vcc+PLLVcc が 100〜140mAぐらい
レギュレータの損失や内蔵USBモジュールの電源含めるともっと増えると思われ
876774ワット発電中さん:2010/05/30(日) 20:56:17 ID:sDvufmZc
>>874
俺もドキュメントに書くたびにそう思う
877774ワット発電中さん:2010/05/30(日) 21:23:44 ID:aIBrRXHO
 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)<  立ち上がるモナ
 (     )  \_________
 | | |
__(__)_)______________
 ( _)_)
 | | |
 (     )  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( 。A。)<  立ち下がれやゴルァ!!
  ∨ ̄∨   \_________

こんなイメージ
878774ワット発電中さん:2010/05/30(日) 21:33:35 ID:it+c4hh3
>>876
こういうの業界用語っていうんだろうな
879774ワット発電中さん:2010/05/30(日) 21:35:26 ID:AT3ka1xQ
ちんこしか想像できない
880774ワット発電中さん:2010/05/30(日) 21:36:17 ID:4YcvXPZc
寝ていようが起きていようが立つ事にはかわらんのだよ
881774ワット発電中さん:2010/05/30(日) 22:14:05 ID:XQA++8ez
「立ち上がり」に対して「裁ち下がり」だと思ってたが…。

882774ワット発電中さん:2010/05/30(日) 22:28:31 ID:+YNLPaNv
初めて68000の英文データシートを読んだときにASSERT/NEGATEって書いてあった。
883774ワット発電中さん:2010/05/30(日) 22:37:25 ID:fspgFcPH
Pos Edge/Neg Edge
884774ワット発電中さん:2010/05/30(日) 22:39:11 ID:fspgFcPH
>>875
おっと、書いてあったか
結構食うね
電池で動かすとかはやめとこ
885774ワット発電中さん:2010/05/30(日) 22:46:44 ID:V/vG56i7
「いじめられる側にもいじめの原因がある」
「死刑には抑止力がある」
「何か言われて不快になったらその原因は発言者にある」


これまで当たり前だと思って、深く考えなかったこと・・・
周りに言われるままに、何の疑問も抱かなかったこと・・・
それらが本当に正しいのか、ちょっと立ち止まって考えてみませんか


虐めに関するよくある勘違い
http://jbbs.livedoor.jp/bbs/read.cgi/game/46573/1273655633/1-7

死刑制度に関するよくある勘違い
http://jbbs.livedoor.jp/bbs/read.cgi/game/46573/1273498488/1-7

外界は内界を映し出す鏡だって言ってたよ裏庭の鶏も
http://academy6.2ch.net/test/read.cgi/philo/1273156931/1-3
886774ワット発電中さん:2010/05/30(日) 23:14:32 ID:vfoPjS9G
上の割り込みの件です。割り込みは出来るようになったんですが、今度はスイッチのチャタリングに悩まされています。


エッジがある回数だけ、割り込み要求がたまるんだと思うんですが、待ちをいれても良くなりません。


IRQ0発生→IRQ関数内で待ち→処理

みたいにしてますが、それが何度もおこります
887774ワット発電中さん:2010/05/30(日) 23:18:19 ID:4YcvXPZc
ぐぐれと言えばいいのかな
888774ワット発電中さん:2010/05/30(日) 23:30:38 ID:vfoPjS9G
IRQを利用したのが見つからなくて・・・


・最初のエッジでIRQが呼び出される。
・数ms待つ
・割り込み要求を下げる
・処理

これで処理が1回になるはずと思ったんですが・・・
なにがダメなんでしょうか
889774ワット発電中さん:2010/05/31(月) 00:08:52 ID:098UcSyj
>>888
割り込みの中でのディレイは一般的じゃない。
ディレイ入れたいときはは割り込みの外で。
チャタ取りたいのなら、割り込みをトリガに(割り込みの外で)ポートのレベル判定てのが楽そう。
もちろんこのほかにもいろいろ方法はある。

890774ワット発電中さん:2010/05/31(月) 00:13:24 ID:NaUWwpIk
ディレイを入れるとCPUが占有されてしまいますね・・・
CMTを使ったほうがいいでしょうか?
891774ワット発電中さん:2010/05/31(月) 00:16:55 ID:jrPPZhIE
是が非でも割り込みで入力を採りたいなら、割り込み処理内で割り込み禁止にして処理。
チャタが終わると想定される時間を通常ループかタイマー割り込みで待ってから
割り込みフラグクリアして割り込みを許可。



割り込みフラグのクリア忘れて、延々割り込んでるだけってのは無いよね。
892774ワット発電中さん:2010/05/31(月) 02:41:46 ID:A6xRWyM8
>>888
>IRQを利用したのが見つからなくて・・・
ということは、スイッチをIRQで取ることは、行われていない、と考えられないか?
通常は、タイマー割り込みで、定周期時間にスイッチの状態を見に行って、
onかoffを取り込んで、○○回連続してHだったらHと認める、とかやるんよ。

intruppt timer1 (){
  t1 = on;
  T1.XXX.XXX = 0;
}

void main(){
    :
    :
  if( t1 == on ){
    t1 = off;
    temp1 <<= 1;
    temp1 &= 0b0000_0111;
    temp1 |= IO.XXX.B0;
    if(   temp1 == 0b0000_0111 ){ SW1 = on; }
    else if( temp1 == 0b0000_0000 ){ SW1 = off; }
  }
    :
    :
}
893774ワット発電中さん:2010/05/31(月) 23:26:45 ID:wXr2rvfJ
>>875>>884
しかし、SH2/7144より低いのは意外だった
SH2/7144の場合50MHzで typ160mA、max220mA。

頑張ったわね。 SH2A
894774ワット発電中さん:2010/05/31(月) 23:29:08 ID:Rel3avee
コアは1.1vだし。
895774ワット発電中さん:2010/06/01(火) 04:22:31 ID:xzuiYHgT
だから何?
ペリフェラルが3.3V/5V で接続できるならコアが低電圧駆動されても全く関係ない
896774ワット発電中さん:2010/06/01(火) 07:50:31 ID:2cLw676C
オーバクロッカどもの言うところのVcoreだな
897774ワット発電中さん:2010/06/01(火) 20:34:23 ID:gpPRZfA3
>895
いや、コア電圧が低いから省電力って話だと思うんだが。
898774ワット発電中さん:2010/06/01(火) 23:15:24 ID:gwoJ+FrO
SH2Aは何nプロセスなんだ? 65n?
899774ワット発電中さん:2010/06/02(水) 18:37:04 ID:MCkWol5a
>http://ednjapan.rbi-j.com/news/2010/6/6842

20nだってよ。
















笑えた?
900774ワット発電中さん:2010/06/03(木) 02:44:08 ID:e6rlvlkM
げらげら
901774ワット発電中さん:2010/06/06(日) 21:02:05 ID:SMFlrfH/
近所の本屋にゃInterface7月号が売ってない。 買っとけ!てな内容だった?
902774ワット発電中さん:2010/06/06(日) 22:28:17 ID:WvROygTg
知りたいのは6月号おまけのバグフィックス情報があるかどうかなんだけどな。
ずーっと買い続けてた時期もあったけど、同じような情報の繰り返しで、
今更、あんまり買いたくない
903774ワット発電中さん:2010/06/06(日) 22:35:08 ID:j4joheF+
試用期間をすぎた後も、コードサイズが256KB以上のブツを作る人用の記事があった。
関係のない話なんで、まだ読んでないけど。
904774ワット発電中さん:2010/06/06(日) 22:37:04 ID:lHOMJwgR
そんなに高いもんじゃあるまいし、ケチくせえな
905774ワット発電中さん:2010/06/06(日) 22:52:36 ID:j4joheF+
近所の本屋にはなくても、図書館にはあるかもしれんぞ。
市民権を生かして利用すべし。
906774ワット発電中さん:2010/06/06(日) 23:44:11 ID:/lEvaDxo
http://akizukidenshi.com/catalog/g/gK-00168/
上記URLのH8/3069Fを半田付けしました。
romにplus3068.motを書き込み、ramにlcd.motを書き込んだ後、
tera termを起動して「exec ffde40」と打ち込むと
「input:」と表示されるのですがキーボードを打っても何も表示されません。
Enterを押すとexecuted.となります。
なぜキーボードを打ち込んでも何も表示されないのでしょうか。
他サイトで半田付けの仕方が悪いのではないか。と言われたのですが
CPUボードの半田付けは2ヶ所しかなく、またプログラムの処理はマザーボードの部分は
関係ないと思うので考えにくいです。
(一回半田付けした部品をボードから取るのは自分の技量では出来なかったので
一回、半田を吸い取る奴で一通り取ってもう一回半田付けしましたがだめでした)

よろしくお願いいたします。
907774ワット発電中さん:2010/06/07(月) 00:05:55 ID:imPl2Vbl
>>906
すみません自己解決しました・・・
どうやら付属のlcd.motじゃうまく動かないらしく、
サイトに落ちてたのを拾ってやってみたら打ち込むことが出来ました。
908774ワット発電中さん:2010/06/07(月) 00:58:25 ID:RFpGZVLV
>>904 俺の昼食10日分だw 文句あっか? orz
909774ワット発電中さん:2010/06/07(月) 01:48:41 ID:G1utySs6
98円 (´;ω;`)
910774ワット発電中さん:2010/06/07(月) 01:51:59 ID:RFpGZVLV
トップバリュのカップラーメン\88で地道に10円貯めてます。
911774ワット発電中さん:2010/06/07(月) 02:14:08 ID:QnLhHWnF
e-priceのものではダメでしょうか?
912774ワット発電中さん:2010/06/07(月) 08:03:12 ID:puyC6zeV
体壊しちゃ元も子もない
913774ワット発電中さん:2010/06/07(月) 18:50:28 ID:u/YoxpiW
>>907
単にローカルエコーバックをONに指定していなかっただけの様な気もするが、
解決したならなにより。
914774ワット発電中さん:2010/06/12(土) 02:10:43 ID:5nFirLSu
コンビニで、でかいラーメン買ってるけど値段気にしたことないわ。
915774ワット発電中さん:2010/06/14(月) 13:26:37 ID:DIggGltG
Interface付属SH2AでフラッシュROM飛ばして再書き込みする場合を想定しているのですが、
6月号のP113ページでやっていることは次の理解でよいのでしょうか?
1.ROMに書き込むためのプログラム(SPIwriterAll)をJTAG経由で内臓RAMに転送
2.ブートローダー(SPIROM.bin)をSPIwriterAllの後ろあたりに転送
3.SPIwriterAllを起動して実際にフラッシュに書き込み
さらに
4.SH2A自体にフラッシュ書き込み機能はない(ので必ずユーザプログラムで書き込む必要がある)
5.微妙にプロトコルが違うフラッシュに乗せ変える場合には、SPIwriterAllを修正する
ということでよいのでしょうか?

別件ですが、1.2Vレギュが立ち上がらない問題が発生しているようですがみなさんはいかがでしょう?
916774ワット発電中さん:2010/06/14(月) 13:34:20 ID:jT8vIVnx
>>915
>4.SH2A自体にフラッシュ書き込み機能はない(ので必ずユーザプログラムで書き込む必要がある)
なかったっけ?
MODEを切り替えて立ち上げれば、フラッシュの書き込みをシリアルからできるんじゃね?
書き込みプログラムは、ルネサスにあると思うけど。
917774ワット発電中さん:2010/06/14(月) 17:39:53 ID:6NHJycIq
Flash内蔵なら自力で書けるが、7262には入ってないからのう。
918774ワット発電中さん:2010/06/14(月) 17:49:03 ID:jT8vIVnx
>>917
ほんとだ、ROMlessなんだ。使えね。
919774ワット発電中さん:2010/06/14(月) 18:56:35 ID:WnSJSKcc
920774ワット発電中さん:2010/06/18(金) 23:48:50 ID:61zvSvW+
interface sh2a付録で遊んでるんだけど、
以前の付録のsh7144のサンプルでは割り込み関数の前に

#pragma interrupt 割り込み関数

みたいに割り込み関数であることを明示してたんだけど、
今回のサンプルでは特にないみたい。
これがないとレジスタの復帰処理が入らなくて大変な事になりそうな気がするのですが
問題無し?
勝手にやってくれるのだろうか?
921774ワット発電中さん:2010/06/18(金) 23:59:17 ID:GHCopgwN
6月号のP105のリスト5を見るべし
922774ワット発電中さん:2010/06/19(土) 00:10:41 ID:QQ4CA8B8
vect.hの中で全部まとめて定義されているはず。
923774ワット発電中さん:2010/06/19(土) 00:11:29 ID:sHgxsEVs
ありがとうございます。
今調べてたらある事に気がつきました・・・
と思ったらタッチの差で指摘が。

sh2aでコンテストやるみたいだけど受賞すると何か得するんだろか?
特に記載が無い。
あと、液晶ボードが発売されたようですが、3万。
タッチパネルは魅力的なんですけど個人で買う人っているんだろか。
924774ワット発電中さん:2010/06/19(土) 00:28:07 ID:1R8DFCRC
タモリ「どんな変態ビデオも500本は売れる」
925774ワット発電中さん:2010/06/20(日) 04:09:23 ID:r9D0PmcL
sh2a付録とHEWの組み合わせで、
sprintf使うと永久ループに突入してsprintf関数から帰って来ない・・・
同じプログラムがsh7144では動いてたんすけど。

main関数のしょっぱなでsprintf呼んでも同じ。
sprintf(&nameBuff, "test %d" 10) // こんな感じ
誰か暇な人いたらsprintf動くか試して頂けるとありがたいです。
926774ワット発電中さん:2010/06/20(日) 04:17:58 ID:r9D0PmcL
訂正 sprintf(&nameBuff[0], "test %d" 10) // こんな感じ
927774ワット発電中さん:2010/06/20(日) 07:03:08 ID:vZEx11LD
10の前にコンマは要らないの?
928774ワット発電中さん:2010/06/20(日) 09:02:06 ID:9z6C1xi+
>>925
動いてるよ

#include <stdio.h>

char buf[80];
// CMCNT0 の値を表示する
unsigned short int cnt = CMT.CMCNT0.WORD;
sprintf(buf, "%05d (%04XH)\n", cnt, cnt);
ScifPuts(buf);
929774ワット発電中さん:2010/06/20(日) 11:34:57 ID:r9D0PmcL
>10の前にコンマは要らないの?
ミスタイプでした。

>#include <stdio.h>
ありがとうございます。
原因判明しますた。

#include <stdio.h>
が抜けてますた・・・ 恥ずかしい。
てか、抜けてもコンパイルもリンクも通る。
けど、実行時に飛ぶ・・・ 謎だ。
ちょっと調べた感じsprintf関数自体には行ってるみたい。
可変引数だから定義ないと上手く関数に引数の数が渡らないのかな・・・
930774ワット発電中さん:2010/06/20(日) 11:55:40 ID:nY1BNqkR
プロトタイプの宣言なしに関数呼び出したら警告が出ない?
931774ワット発電中さん:2010/06/20(日) 12:13:58 ID:r9D0PmcL
でませんね。
試しに適当な関数でもスルーされた・・・
ってことはコンパイラの警告オプションが緩すぎるのかな。
いじった覚えはないんですが。

後、sh7144で作ったプロジェクトは自分で
#include "typedefine.h"
してるけど、
sh7262のプロジェクトはincludeすると
二重定義だボケェ言われる。
932774ワット発電中さん:2010/06/20(日) 14:03:21 ID:9z6C1xi+
>>931
iodefine.h 30: #include "typedefine.h"
933774ワット発電中さん:2010/06/20(日) 16:47:16 ID:r9D0PmcL
>iodefine.h 30: #include "typedefine.h"
ギャー
特には困ってなかったのであまり気にしてなかったのですが、
HEWが勝手にやってるのかと思ってた。
(コンパイラの引数とかで)

ついでに気になったのですが、スタックって
プロジェクト->構成の編集->スタック
ビルド->Toolchain->最適化リンカ->カテゴリ->セクション
の両方で指定できる 何故?
934774ワット発電中さん:2010/06/21(月) 02:55:28 ID:mYfWS+LO
sh2a 今度はカラー液晶制御ではまってます・・・

怪しいカラー液晶パネル買ってきて、静止画表示が出来たので
今度は動かしてみようと表示領域をメモリに2面もって
ダブルバッファにしてみたけど上手くいかず・・・
LCDが参照しにいくVRAMアドレスを書き換えてるだけなんだけど、
一度VRAMアドレス設定して動き出したら実行中にアドレス変えても無反応。
ダブルバッファで動かしたい場合どーすればいんでしょう。

VDC3.GROPSADR1.LONG = GetBackBuffAddr(); // こんなん
935774ワット発電中さん:2010/06/21(月) 03:03:26 ID:mYfWS+LO
1つのユニットでやろうとせずに
2つ表示ユニットで、交互に表示ON/OFF
するんだろうか・・・
しかしそれだと機能が限定される気が・・・
936774ワット発電中さん:2010/06/21(月) 03:19:57 ID:mYfWS+LO
なんかマイ日記ページになって申し訳ないんですが、
解決しました。
VRAMアドレスレジスタは書き換えた後に
レジスタ転送レジスタに1を書き込まないと
反映されなかったようです。
(画像が乱れないようvblank期間自動転送される)
937774ワット発電中さん:2010/06/22(火) 22:09:57 ID:kUKqikHC
コンテスト、MP3再生、動画再生、JPEG再生+タッチパネル以外の
作品出てくるかなぁ???
938質問。:2010/06/24(木) 21:41:18 ID:Q0wQDW17
インターフェイスの雑誌のSH2A付録 144Mhz って書いて
あったから買ったけど、よく読んでみたら、外部バスは70Mhz
位って書いてあったがあ。

結局、外部とは70Mhz位の速度でしか動かないってこと?


http://www.kumikomi.net/interface/contents/201006.php


939774ワット発電中さん:2010/06/24(木) 21:58:07 ID:n/+6G6Xz
うぜえ、あちこち書くなボケ!
940774ワット発電中さん:2010/06/25(金) 08:23:57 ID:A5TUmr6o
FSBとコアが等速のCPUってどんだけあるよ
941774ワット発電中さん:2010/06/25(金) 09:36:23 ID:R0oX2z32
>>938
あんた 70MHz でちゃんと動くバスの設計できるの?
942774ワット発電中さん:2010/06/25(金) 09:44:04 ID:8nZEkA5y
70MHz
―――――――v―――――――――――――――               
     ―――――――――――――.、       
    ./.  ̄ ̄ ̄//. ̄ ̄| ||| ̄ ̄ ̄ | ̄ ̄||      
   /.    ∧// ∧ ∧| || ∧,,∧ ||∧,,∧||       
  [/____(゚_//[ ].゚Д゚,,) || (・∀・) ||・∀・.||     
  ||_. ***_|_| ̄ ̄ ∪|.|. *** **|****||    
  lO|o―o|O゜.|二二二 |.|双葉ようちえん|    ..  
  | ∈口∋ ̄_l__l⌒l_|_____|_l⌒l__..|| ≡))   
    ̄ ̄`ー' ̄   `ー'  `ー'    `ー'    
943774ワット発電中さん:2010/06/25(金) 23:46:08 ID:QvmtPsKm
付録基板本体はなかなかよかったと思うけど、
タッチパネル液晶基板が3万円近くするというのは
ちょっとどうかしてると思う。
トラ技のh8用タッチパネル液晶も同じような規格なので
値段の差が・・・

944774ワット発電中さん:2010/06/26(土) 17:37:59 ID:C46wkjes

教えてください。

H8マイコン基板 H8←→LVDS変換3対[コネクタA]---------(3線SPIをLVDSで3対, 2mくらい)-------[コネクタB]LVDS変換3対←→ADコンバータ基板
という感じで、2m程度離れたAD変換値を取り込んでいます。
clockは500kHzくらいで、変換出来次第に連続して、データをドンドン取り込んでいます。

以下のような問題があり困っています。
解決に向けて何かヒントがあれば、教えて欲しいです。

1. ケーブル長でデータ化けしてしまう
AD変換clock(SPI clock)は、H8→ADに送信。すると、H8←AD方向でデータが届きます。
変換データの帰り遅れ時間を見込んで、clockの反転エッジでH8は読み込んでいます。
ところが、ケーブルが長くなると、ケーブル長により、返信遅れが変化して
データ1bit分ズレてしまいます。

2. ケーブル挿抜時に、データ化ける
上記コネクタA, B部分で、挿抜をしていますが、常時転送をしていますので、
1フレーム途中など、ケーブルを抜くタイミングによって、H8は変なデータを取り込んでしまいます。

これまで考えた対策は、
1.については、
・clockもdataもAD基板側が発生し、H8は、AD側から届いたclock, dataを取り込む
  線の数が決まっているので、信号線を増やせない。
・ケーブル長を限定する。
・clock周波数を下げる
2. これは困りました。思いつきません。
抜かれては困るデータを送っているのに、勝手に線を抜かれては、
手の打ちようがないように思います。

すみません、知恵を貸してください。
945774ワット発電中さん:2010/06/26(土) 18:05:37 ID:/qoXQIQn
>>944

1.
結論としてはSPIのような短距離用プロトコルを使うのが間違いです。
RS485のような上りと下りでクロックが異なるプロトコルを用いるべきです。

2.
・フレームの開始を示すデータをいれて、それが検出されるまでのデータを捨てる
・最後にチェックサムをつけて妥当か検証する

XMODEMのような実装をしてみてください
946774ワット発電中さん:2010/06/26(土) 18:28:29 ID:C46wkjes
>>945
さっそくありがとうございました。

>SPIのような短距離用プロトコルを使うのが間違いです。
そうですか。ありがとうございます。
ADが信号を吐いてくれるので、相手基板にはマイコン等は何も入れずに、
単に相手(今回AD)の信号が、こちらにキチッと届けば良いとしか
考えていなかったので、失敗でした。
H8側から送り込むclockをやめて、相手基板上にclock生成回路を追加で載せ、
そのclockで送り出すようにできないか検討しています。

>それが検出されるまでのデータを捨てる
>最後にチェックサムをつけて妥当か検証する
ありがとうございます。
送信側での前処理ができる素子を乗せていないので、ちょっと困りました。
う〜ん、ちょっと考えてみます。

どうもありがとうございました。

947774ワット発電中さん:2010/06/26(土) 18:45:42 ID:hZDJg+j7
LVDSって距離が限られる分超速いんだろ
SPIはせいぜい基板上とかMPUからROMまでとかの規格だろ
外に出すなら外付けコネクタが定義されてるような規格にしなよ

いっそFMにでもしちゃえば?
948774ワット発電中さん:2010/06/26(土) 19:55:48 ID:Hn90694f
クロック同期で距離があるなら、化けてもしょうがないでしょ
949774ワット発電中さん:2010/06/26(土) 19:56:51 ID:lp5wzkFY
素晴らしいチャレンジ精神だな
前提知識があって尻込みして何もやらないよりはスキルが身に付きそうだな
その無謀さ見習いたい

趣味ならいいけど仕事だったら会社潰さないように気をつけてね
950774ワット発電中さん:2010/06/26(土) 21:53:46 ID:RLKtotJd
>>949
感じ悪いな、お前

951774ワット発電中さん:2010/06/26(土) 23:53:02 ID:C46wkjes
>>947
>LVDSって距離が限られる分超速いんだろ
インピーダンス整合がちゃんとしてあれば、2mくらいは楽勝です。
ノイズ少ないし、高速だし、言うこと無しです。
H8の信号程度の速度では「余裕のよっちゃん」です。

>SPIはせいぜい基板上とかMPUからROMまでとかの規格だろ
SPIそのものは、高速なI2Cというイメージで、基板内部で終わるものですが、
いったん他の規格の信号に変換すれば、特に問題はないと思います。

ただ、今回は僕がアホでした。プログラムを修正の予定です。

>>948
そうなんです。今考えてみると、おバカでした。

H8送出clock→→→ケーブル(LV)→→→→clock→AD
H8 IRQ←←←←← ケーブル(LV)←←←←clock←AD
H8 I/O←←←←← ケーブル(LV)←←←←data←AD

に、できないか検討中です。
ありがとうございました。
952774ワット発電中さん:2010/06/27(日) 01:50:26 ID:rcypPZk8
それだとH8の処理速度が厳しくないですか?
953774ワット発電中さん:2010/06/27(日) 10:13:28 ID:hfp9E6im
次スレは78K0SとかV850とかも入れるの?
954774ワット発電中さん:2010/06/27(日) 11:50:50 ID:g+P1OW7X
A/D側もインテリジェント化しないと
955774ワット発電中さん:2010/06/27(日) 13:41:54 ID:i3xnqU7Z
DVIってLVDSだっけ
956774ワット発電中さん:2010/06/27(日) 14:10:10 ID:ubBLlX9e
そうだよ
957774ワット発電中さん:2010/06/27(日) 22:19:22 ID:UB1YjRrs
>>953
なんで 78K0"S" やねん。
958774ワット発電中さん:2010/06/28(月) 02:56:30 ID:Wbj2hEI2
78K0Sって78K0のtiny版って程度のもので、
命令セットとしては78K0と同等だよな。

スレタイではH8やSHについて、tiny版は非tinyのと同列に扱ってる(もしくは省略)から、
スレタイに入れるなら78K0Sじゃなく78K0だな。

これが、78K0Rとかなら、78K0とはコアアーキテクチャが違うし命令セットも違うから、
78K0とは別物として扱っても問題はないんだろうけど。
959774ワット発電中さん:2010/06/28(月) 10:31:04 ID:LyK6oVwa
全部一緒くたでいいんじゃないかな。
どうせ旧 NEC エレのマイコンのスレ過疎ってるし。

2スレ目俺が立てたんだけどね。 (´;ω;`)
960774ワット発電中さん:2010/06/28(月) 11:04:12 ID:sxYeraoM
開発環境はフリーだったしデバッガはやっすいんだけどねえ、78K0
いかんせん、いろんな意味で使いにくすぎる
961774ワット発電中さん:2010/06/28(月) 21:42:12 ID:+K9dhhEV
同等じゃないよ(w
0Sはかなり抜かれている。
962774ワット発電中さん:2010/06/29(火) 01:23:30 ID:HVekWusM
>961
え?
周辺機能だけじゃなくて命令セットも減ってるの?
963774ワット発電中さん:2010/06/29(火) 10:51:21 ID:8mzRIR/u
乗除算とかないよ。
964774ワット発電中さん:2010/06/30(水) 17:57:20 ID:3CuHL+yo
今度SH-2を使う事になって開発ツールを何にしようかと考えてたら
昔誰かに日立超LSIのCコンパイラがいいって聞いた事あるんだけど
具体的に何がいいのか知ってたら教えてください。
965774ワット発電中さん:2010/06/30(水) 18:12:09 ID:L4tESv4+
>>964
普通に日立のHEWとか、お客に買ってもらえば?
966964:2010/06/30(水) 18:28:31 ID:3CuHL+yo
>>965
ゴメン。書き方が悪かった。
HEW使うならルネサスのC/C++コンパイラより日立超LSIのコンパイラの方がいいって聞いた。
コンパイラだからコンパイルした結果の事を言ってるのかと思うんだけどね。
しかし今時そんな違いが出るのかってのも疑問だし、何が違うんだろう?

ちなみに客がいない開発品なので、買うのは自腹ね。
967774ワット発電中さん:2010/06/30(水) 18:35:18 ID:nrkoZIJD
いわゆるルネサスの純正コンパイラが日立超LSIなんだけど
968964:2010/06/30(水) 19:03:34 ID:3CuHL+yo
>>967
え〜どっちも同じ物なの?
かなり前に商社にH8関連で問い合わせた時も日立超LSIのがいいって言ってたんだけど何なんだ?w
昔からの流れで内容はともかく決まり文句になってるのかな?
969774ワット発電中さん:2010/06/30(水) 21:55:52 ID:Y6EpScJ6
アセンブラで書け。www

実際、HEWが吐いたコードを見ると、
SHのパイプラインを理解してないように思える
ケースが少なくないんだが。
メモリにロードした値を直後にレジスタ間演算で使おうとしたり。
(それやるとパイプラインストールが発生して遅くなる)
970774ワット発電中さん:2010/06/30(水) 22:11:16 ID:/tdOrcH/
そんなん、今時のキャッシュついてるCPUでは当たり前だけど、
差し込める命令あるのに、
殆どのコンパイラでいきなり使うの当たり前。
てか、まともにやってる奴見たことない。

x86しかり、Mips、PowerPC等々。
単にコンパイラがそこまで考えられるほど
進化してないだけ。
もっとも解析したの数年前なんで、今はマシになってるんかね。
971774ワット発電中さん:2010/07/02(金) 10:01:40 ID:K/M77jKC
>>968
コンパイラーそのものは同じ
バンドルされるライセンスや価格 または その商社にとっての利幅 なんかが
違うだけでしょう
972774ワット発電中さん:2010/07/02(金) 10:02:44 ID:nQZBgwae
赤星は吉見や岩瀬は走りやすいと言ってたねえ
973968:2010/07/02(金) 15:49:47 ID:SJpuF/pw
>>971
問い合わせしたら、どっちも同じって回答が来た。

最近はPCアプリばっかりだったからリハビリだと思って評価版で遊んでみるよ。
974774ワット発電中さん:2010/07/29(木) 11:23:12 ID:BSJ7t0SU
ルネサス、4000人削減のリストラ効果期待で株価上がるが、NECはルネサスに対する投資損益として118億円の赤字計上
975774ワット発電中さん:2010/08/02(月) 23:44:46 ID:CDh+ULNk
H8S/2368がモード4で動作していて、CS2(400000〜)にSRAMが接続されています。
CS2なのでPFCR0で0x04を書き込みCS2を有効にすれば、SRAMにアクセス可になるのが
普通かと思うのですが、なぜかPFCR0に0x02(CS1有効bit)を書き込むとSRAMにアクセスできる
ようになります。
しかもCS1ビットなのに(CS1は200000番地〜)デバッガでメモリを確認すると400000(CS2領域)番地にアクセスできる
ようになっています。
何か変だと思うのですが、原因は何が考えられるでしょうか?
976774ワット発電中さん:2010/08/03(火) 20:40:13 ID:zH7ecwfl
>>975
アセンブルソースを読んでみる
ビットテーブルで操作してみる
ここでソースを晒してみる
CSをあたってみる
977774ワット発電中さん:2010/08/04(水) 23:41:56 ID:Cz9N03hh
>>975
バグ取りの鉄則は、一に自分のしたことを疑い、二に自分のしたことを疑い、
三、四も自分のしたことを疑い、五にも自分のしたことを疑う、です。
978774ワット発電中さん:2010/08/05(木) 05:03:41 ID:F3wybA7p
>>977
それができないやつがほとんどだけどね。
979774ワット発電中さん:2010/08/05(木) 05:08:07 ID:jWTe6XdM
複数テスト機がありゃちょっとラクなんだよな・・・
980774ワット発電中さん:2010/08/05(木) 23:11:29 ID:0zA2wv28
975ですがBSCの部分の設定さらしてみます
OUTPORT(ABWCR, 0xfd);
OUTPORT(ASTCR, 0xFB);
OUTPORT(WTCRBH, 0x77);
OUTPORT(WTCRBL, 0x77);
OUTPORT(BCR, 0x0C04);
OUTPORT(PFCR0, 0x04);
OUTPORT(PFCR1, 0x07);
OUTPORT(PFCR2, 0x04);
CS1は16bitフラッシュ
CS2は8bitSRAMに使用しています。
PFCR0に0x02を書き込むとSRAMにアクセスできると書きましたが、
実際このときCS2信号が全く出ていませんでした(0x02ではCS1信号なの
で当然なのですが・・・)ので読み書きできるのはおかしいのですが・・・
PFCR0に0x04を書き込むとCS2がリードライトに合わせてCS信号がでるのですが、
デバッガ上では全く読み書きできず全部0xFFとなってしまいます。
981774ワット発電中さん:2010/08/07(土) 10:08:03 ID:gcSCM8E1
>>977
複数人で開発してるとな……
982774ワット発電中さん:2010/08/07(土) 18:16:05 ID:bj/wW1xC
>980
CS出力を有効にするには、その端子があるポートのデータディレクションレジスタの設定が必要
983774ワット発電中さん:2010/08/07(土) 19:27:00 ID:mzvnn5UO
>>複数人で開発してるとな……

でも大抵、真っ先に他人のせいだと言い出したヤツが真犯人なんだぜ。
事実は小説よりも単純だな。
984774ワット発電中さん
>>983
大抵はな。違う場合もある訳で。