☆組み込み用ボード・組み込みOSの話題スレッド☆

このエントリーをはてなブックマークに追加
12名無しさん@3周年:03/12/18 19:12 ID:zxQOwLBt
このスレは ID:Sumh0pj4 のblogですか?
13名無しさん@3周年:03/12/18 19:23 ID:Sumh0pj4
ところで、blogはweblogだが、LINUX(UNIX)のディレクトリにも/blogていうのがなかったけか。
なんか、似てるのがあったような・・・。
14名無しさん@3周年:03/12/19 01:45 ID:AAHUUOnN
/var/log ?
15名無しさん@3周年:03/12/19 12:06 ID:XfsNIIUC
>おすすめはどんなボードがあるでしょう。
作っちゃうことが多い
16名無しさん@3周年:03/12/19 12:42 ID:ZU8Q/YGw
作っちゃう話題、評価ボードを改良する話題ももちろんOKです。
最近は評価ボードにPLD、ASIC、FPGAをバスブリッジとして付けて、通信インターフェイスなどの機能を付け加えた物を多く見かけます。
17名無しさん@3周年:03/12/21 14:05 ID:1amxyjRP
18名無しさん@3周年:03/12/21 16:22 ID:ebBx3CLO
記念カキコ
19名無しさん@3周年:03/12/21 20:56 ID:5+weIOcX
http://www.apnet.co.jp/product/index.html
SHシリーズの組み込みボードでてるね。メモリマップやCで組んだサンプルコードも置いてある。
main()内は自分たちでアレンジして組む。
NON-OSで、Cプログラミング→アセンブラへコンパイル→実装
というSHのベーシックなプログラムパターン。
どうやら、実装はJTAG使って、1クロックごとに止めて、シーケンシャルに書き込んでゆくみたい。
ヤパ、初心者にはスタータキットがお勧めかなぁ。
20名無しさん@3周年:03/12/21 21:12 ID:pzyx3iO3
>>19
あなたはまずはWindowsでもLinuxでも何でもいいけど、普通にI/O使ったプログラム
作る勉強からはじめるのがいいと思う。それからでも遅くないんじゃない?
21名無しさん@3周年:03/12/21 21:33 ID:5+weIOcX
LINUXやUNIX自体インスコしたことないし、ACOSを使ったことしかないから分からなかったけど、
どうやら、DLLはカーネルに含まれてるようだ。
./binにでも内蔵されてるのかな。
組み込みの場合は、カーネルとブートローダを実装させるらしい。
カーネルをCPUにあわせて作り直さなければならないようだ。(ムズ...
対応CPUが決まっていて、それらができあがっていてPKG化されたものはそれを、JPpin切り替えて、手順どおり実装させれば載る模様。
>普通にI/O使ったプログラム作る勉強からはじめるのがいいと思う。

consio.h使ったCでもアセでも良いけど、シリアル、パラレル転送して、外部ボード(8086など)とやり取りさせて、色々動作させたり、RAMに展開させたり、ROMに書き込んだりするのは個人的にはお腹いっぱいだけど、そんな話題でもOKです。
22名無しさん@3周年:03/12/21 21:43 ID:5+weIOcX
CEはOALファイルというものが内蔵されていて、様々なCPUに対してフレキシブルにカーネルが対応できる模様。
>>3の説明だと分かりにくいと思うので。↓見つけました。
http://ne.nikkeibp.co.jp/NEAD/microsoft/honmon/cont1/1998420_microsoft.html
23相互リンク:03/12/22 11:22 ID:juDRmhAY
モバイル板
「WindowsCE用エミュレータについて語るスレッド5」
http://pc3.2ch.net/test/read.cgi/mobile/1067881079/751
http://pc3.2ch.net/test/read.cgi/mobile/1067881079/796-
24名無しさん@3周年:03/12/23 01:09 ID:1qB7hA/F
>>4の訳がおかしかったので訂正。
【ブートローダ】
表内のリンク
http://msdn.microsoft.com/library/en-us/wcedsn40/html/cgconcreatingbootloader.asp
The general purpose of the boot loader is to place the OS image into memory and then jump to the OS startup routine.
The boot loader can obtain the OS image in a number of different ways, including loading it over a cabled connection, such as Ethernet, universal serial bus (USB), or serial.
The boot loader also loads the OS from a local storage device, such as Compact Flash, or hard disk.
The boot loader may store the OS image in RAM or in nonvolatile storage, such as flash memory, electrically erasable programmable read only memory (EEPROM), or some other storage device for later use.
ブートローダの目的の概略はOSイメージをメモリに展開して、OSの最初開始位置にジャンプすること。
ブートローダは多くの方法でOSイメージを得ることができる。例えば、ケーブル接続から得たり(EthernetやUSBやシリアル)。
ブートローダはストレージデバイスからOSをロードすることができる。例えばコンパクトフラッシュからであったり、ハードディスクからであったり。
ブートローダはOSイメージをRAMやストレージ(例えばフラッシュメモリやEEPROMやストレージデバイス)に展開することができる。
25名無しさん@3周年:03/12/23 02:04 ID:1qB7hA/F
CEでは、ハードウェアとの直接やり取りはOALが行っているようで、デバイスドライバファイルはOALがリンクして使用しているようで、
OSをケーブル経由、もしくはストレージデバイス経由でポーティングする場合、実際ハードとの直接やり取りはOALのようだが、
http://pc3.2ch.net/test/read.cgi/mobile/1067881079
のスレによると
他の場合、デバイスドライバが担当している模様。

前者の場合(CE)ポーティングは
開発ツールのモニタ、デバッガ、エミュレータなどで、ブートローダをケーブル接続もしくはストレージデバイス経由で転送
もしくは、モニタ、デバッガ、エミュの代わりに、Cやアセンブラでコードを書き、ターゲットCPUにケーブル経由でアクセスしてターゲットCPUを煽って、ケーブル接続もしくはストレージ経由でブートローダを転送。
CEの場合、ブートローダはポーティングのツールもかねているようだから、OAL、デバイスドライバ、コンフィグファイル、OSをターゲットを立ち上げてブートローダを用いて転送。

後者の場合のポーティングは、ブートローダ、デバイスドライバ、OSの一括転送もできるが(モニタ、デバッガ、エミュ、Cやアセンブラコード組んでターゲットCPU経由かDMA転送を用いて)、
デバイスドライバを先にモニタ、デバッガ、エミュ、Cやアセンブラコード組んでターゲットCPU経由かDMA転送、でメモリ上に転送しておいて(このときターゲットは立ち上がっている)、
デバイスドライバを用いて、ブートローダ、OSを保管するストレージ(フラッシュメモリ、EEPROM、他ストレージデバイス)に転送、という方法もあるということか。

どうかな?
26名無しさん@3周年:03/12/23 02:08 ID:1qB7hA/F
CEでは、ハードウェアとの直接やり取りは
OALとブートローダが行っているようで、
    ~~~~~~~~~~~
デバイスドライバファイルはOALがリンクして使用しているようで、

OSをケーブル経由、もしくはストレージデバイス経由でポーティングする場合、
実際ハードとの直接やり取りはブートローダまたは
                    ~~~~~~~~~~
OALのようだが、
27名無しさん@3周年:03/12/23 02:22 ID:1qB7hA/F
>>25に自己レス。
後者の場合で、フラッシュ、ストレージデバイスに書き込むのに転送したって意味ないがな。
_| ̄|○
      ̄
開発PCで直接カキコだなぁ。てか、俺しかいない・・・。さむいよ。
28名無しさん@3周年:03/12/23 12:15 ID:1qB7hA/F
CEでは、ペリフェラルデバイスとの直接やり取りはブートローダとOALが行っているようで、デバイスドライバファイルはOALがリンクして使用しているようで、
OSをケーブル経由、もしくはストレージデバイス経由でポーティングする場合、実際ペリフェラルデバイスとの直接やり取りはブートローダとOALのようだが、
他の場合、ペリフェラルデバイスとの直接やり取りはデバイスドライバが担当している模様。

*ここでのペリフェラルはターゲットボード内でCPU外のデバイスを差す。
ハードに直接アクはカーネルも行ってるからね・・・。
どうも頭が整理できてないようだ。(apopopopo
いろいろ訂正ばっかで見づらくてスマソ。
29名無しさん@3周年:03/12/23 17:58 ID:1qB7hA/F
とりあえず、本格的なブートローダの改更、ドライバの改更などの手始めに、
それらの内容がどうなってるのか調べる為に自宅のインクジェットプリンタ選びました。
カノン製です。
試しにUSB接続でハイパーターミナル使ってみました。
USBがつながってるCOM3を選んで9600bpsでやってみました。
DOSコマンドは使えません、当然か・・・(^^;
DOSプロdebugモードで直でUSBをハンドアセンブラで叩くのも前調査が大変そうなので、ハイパーターミナルで粘りつつ・・・、
ATコマンドは効きました。
ATATI3
PCtel HSP56 MR 2.30-9K
OK
どうやらプリンタエンジンが用いているファームウェアのバージョンがPCtel HSP56 MR 2.30-9Kのようです。
これから、色々やってみマツ。
30名無しさん@3周年:03/12/23 21:44 ID:LVcz58Ge
しつれい
AT[ENTER]
OK
ATI3[ENTER]
PCtel HSP56 MR 2.30-9K
OK
でした。
それと、USBケーブル抜いても同じようにでたので、プリンタの中に入った訳ではなかったです。
従ってPCtel HSP56 MR 2.30-9Kはプリンタのファームウェアのversionとはなんら関係ないです。
_| ̄|○ガックシ
      ̄
ATS 番地でレジスタの値見てみましたがNULLでした。ちなみに受け付けたのは0000-0052までで、それ以降はERRORになりますたタタタタ。
31名無しさん@3周年:03/12/23 22:30 ID:LVcz58Ge
ここにWINDOWS CEをX86上に載せるやり方が書いてある。
ターゲットがPCだけど。。。
アフォオだから知らなかったけど、WINDOWS CEはOS本体であって、
組み込み開発にはWindows CE 3.0のソース(OS本体)、OSモジュール設定用ビジュアルツール、ターゲットプロセッサ用のクロスコンパイラ、デバッガ、およびMicrosoft言語のランタイムソフト
が入ってるWindows CE Platform Builderが要るようだ。
ブートファイルはDOSでできてるんだぁ。

>この起動ディスクで起動したCEPCマシン(ターゲットマシン)にイメージファイルをネットワーク経由で転送するために、Autoexec.batファイルを開いてカードのIRQやI/O割り込みの設定を行なう。
転送中は割り込み禁止ってのがポイントかなぁ。いろんなサイトでもブートローダに割り込み禁止コード作ってたし。

なんとか手に入れて、ポケコンとか、PDAに移植してみたいなぁ。さすがに携帯は無理だろうけど(ハード内容分かんないし、CEでも推奨されてないみたい)
32名無しさん@3周年:03/12/23 22:32 ID:LVcz58Ge
あぁあぁ、>>31に肝心のURLが。。。
http://pcweb.mycom.co.jp/special/2001/windowsce/03.html
デフ。失礼しました。
33名無しさん@3周年:03/12/24 02:58 ID:tX1mhF5Y
>>31
MSからCE.netの体験版買えるべ。
34名無しさん@3周年:03/12/24 11:58 ID:HWSrUU9B
>>30
それはモデムだ。
何というか…頑張って勉強してくれ。
35名無しさん@3周年:03/12/24 14:57 ID:aPCb6UAW
日記?
36あげてみよう:03/12/24 20:51 ID:llAo10Pd
debugでアセコード書いて、.comファイルにしておいてから、
ハイパーターミナルで転送ー.comファイルを送信しても
「無効なメッセージ形式」とでてしまうよ。
.txtでも、.batでももちろん駄目で、同じメッセージ出る。
どんな形式ならいいんだろ。プロトコルもいろんなタイプ選んでみたけど駄目だた。
(´゚ω゚`)やっぱ、モデムのプロトコルじゃないとハイパーターミナル使えないのかなぁ。
モニタ、デバッガ、エミュレータにもハイパーターミナルで操作するのが色々サイトに出てたんだけど。
どうすればいいんだろ?
37↑ゴメン:03/12/24 20:53 ID:llAo10Pd
USBでつないだインクジェットプリンタに対してやったよ。
38名無しさん@3周年:03/12/24 21:25 ID:pCA/0wTx
フリーのTRON
誰か使った人いる?

http://www.toppers.jp/
39名無しさん@3周年:03/12/24 22:19 ID:llAo10Pd
ありがと。
>>38さんの挙げてくれたサイトの
http://www.mit.pref.miyagi.jp/embedded/TOPPERS/download1.html
にはSH-1用に載せるカーネルでてる。
それ以外にも、
http://www.toppers.jp/jsp-download.html
にダウンロードできるカーネル載ってますが使い分けが今一分からない状態です。
http://www.toppers.jp/jsp-kernel.html
では開発環境が手に入りそうです。
40名無しさん@3周年:03/12/24 23:16 ID:llAo10Pd
ゴメ。
COM形式の実行ファイルじゃ、DOSないと駄目だし、プリンタに載ってる訳ないし、ハイパーターミナルで送ったってできないに決まってる。
しょうがない、VC++のインラインアセンブラ使って、それをハイパーターミナルで送るか・・・。てか、もしかして、WIN載ってないと駄目そう。(((((゚Д゚))))ガクブル
もしかしなくてもそうだな・・・。ガクッ。
やっぱ、結局IF直接叩いてマシン語コード送るしか・・・(ry
なのかな?
41名無しさん@3周年:03/12/25 00:41 ID:AqpTJZfK
http://labo.d77.jp/cgi-bin/view.cgi?page=56
これの
>WindowsNTやWindows2000のカーネルなんてフロッピー数枚で立ち上がるのに、それを制御するインターフェースは何百メガバイトもの巨大なGUIのみです(CUIでも操作できないことは無いが)。
WINのカーネルはフロッピー数枚か・・・。
WINの構造ムチャややこしくて理解とは程遠い難しさだし、公開されてないし、とてもじゃないけど・・・と思ったが、何とかカーネルの調整できるかもしれない。
42名無しさん@3周年:03/12/25 01:11 ID:qaQRm5M2
>>41
>WINのカーネルはフロッピー数枚か・・・。

そんなもんだろうね。
Linuxもカーネルと基本コマンドくらいならフロッピー1枚で収まるけど、
便利な設定ツールやX、パッケージ管理システムが絡むと途端に数十〜数百MBは喰われるし。
43名無しさん@3周年:03/12/25 16:13 ID:R6IoGZ3J
>>40
何をししたいのか意味不明なのだが・・・
そもそもそのプリンタはx86なのか?
もしもx86だったとしても、メモリマップもわからんでどーやってプログラム送るんだ?
っていうか、ほんとにそのポートはプリンタなのか?34で言われてるようにWinモデムじゃね―のか?
インラインアセンブラって・・・・・コーディングの言語とか関係ないと思うが・・・

レベル低すぎて無理だと思うよ。
44名無しさん@3周年:03/12/25 21:28 ID:WOW9LHfR
(´゚ω゚`)ショボーン。
ちなみに、アセンブラコンパイラで.hexファイルにして送っても同じだったポ。
当然だなー、プリンタにはそもそも、ファイル送受信のプロトコルもってないし、
それ以前にプリンタエンジンはASICだから86系とは命令セット違うシナー。
馬鹿折れ_| ̄|○ガクッ
          ̄
クソ〜、こうなったら低レベルなりにドライバを.hexにして逆アセして解析じゃ=!
でも、ドライバDLLなんだけどどうやって解析すればいいんだろ。。。(-.-)
45名無しさん@3周年:03/12/25 21:49 ID:R6IoGZ3J
>>44
ぶっちゃけいじりたいだけなんでしょ?
だったらLinuxであそべば?
プリンタドライバだってソースがあるわけだし。

46名無しさん@3周年:03/12/25 22:20 ID:WOW9LHfR
>>45
プリンタドライバのソースって、ほんとにソースファイル?
配布してるのはリリースビルドのDLLじゃないの?
47名無しさん@3周年:03/12/25 22:47 ID:KIk5ySP7
>>46
だからいじってみろって。実際に。口だけじゃなくて。Linux入れるとかすぐだろ。
48名無しさん@3周年:03/12/25 22:53 ID:WOW9LHfR
>>47
うん。公開されてるLinuxから始めてみるよ。。。。
49名無しさん@3周年:03/12/25 23:10 ID:+dHuX4f4
窓のプリンタドライバ読んでも、ハード回りの勉強にはならんと思うが。
まあ、そのプリンタの制御コードを理解できるかもしれんな。
50名無しさん@3周年:03/12/26 00:07 ID:cN9FVW2w
>>49
なんとかDLLのコード見てやろうと思って
C++のMFCでデフォルトのまま、プロジェクトの設定のリンクにドライバのリンク先入れて、該当ファイルもC++で作ったファイルとDEBUG両方に入れてやってビルドした。
読み込めないとエラーが1個出た。
.hか何かのDLLが足らないのかと思って、.inf見てみたら、見えないところに50個位DLLがある。
探す気にもならん。_| ̄|○
うまくビルドできたら、なんかしらできそうな気がしたんだけどなぁ。
気がしただけであって・・・、堕レススマソ。
51訂正:03/12/26 00:10 ID:cN9FVW2w
ドライバのリンク先→DLLの名前
52名無しさん@3周年:03/12/26 00:16 ID:XbvWhPMl
×低レベル
○低次元
○低スキル
53名無しさん@3周年:03/12/26 00:18 ID:a1owjhfg
わけわからん
DLLの意味わかってんのか?
API調べたいならspy使えよ
54名無しさん@3周年:03/12/26 01:44 ID:cN9FVW2w
>>53
ありがとう。
55名無しさん@3周年:03/12/31 21:03 ID:rfE5H0KH
日記は終わったのか?
56名無しさん@3周年:04/01/03 00:27 ID:zPLFS41d
LinuxはWindowsのAPI無しには動かないとか厨な発言ばっかしてる
香具師が立てたスレってここで合ってる?

ちょっと顔が見たくてさ、煽りにきたんだけど。
57名無しさん@3周年:04/01/04 15:20 ID:nepwUjHn
>>56
試しに煽られてみます・・・。ドゾー。
58名無しさん@3周年:04/01/13 20:23 ID:N51Nbq2j
>>1が激しく空回りしているスレはここですか?
59名無しさん@3周年:04/01/13 20:26 ID:4k1dCSR+
>>58
そうなんですが、流石に馬太目っぷりに気付いたらしく、最近は日記が更新
されませんね。チンチン更新マダー?
60名無しさん@3周年:04/01/14 22:44 ID:xTtXQBgy
61名無しさん@3周年
★2ちゃんねるアダルト情報★★今がチャンス★
http://www.domo2.net/bbs/test/read.cgi/report/1074087988/