組み込み

メインループで力技

複数のシリアルから受信したデータをまとめてタイムスタンプを付けて、非同期シリアル出力、同期シリアル出力する機械を製作中です。OSなど使わずにメインループ形式で作っているので、ちょっと無理矢理な感じ。(^_^;まあ作る方としては、Linuxでマルチスレ…

シリアルバッファのバグ

シリアル受信してそのデータをファイル記録する器械を作っている。ココで問題発生!シリアルデータを受信していないのに、なぜか器械が受信していると勘違いしている。それも過去の受信データがループになっている。奇々怪々...存在しない過去の亡霊デー…

動的にシリアルパラメータ変更

H8でシリアル入力のパラメータ(通信速度、パリティ、データ長、ストップビット)を動的に変更するコードを書いた。コマンド入力用シリアルから変更コマンドを入れて、各種パラメータで動作するかをチェック。チェックしていくと、シリアルドライバのバグをい…

Armadilloでmgetty

今日は、Armadilloでmgettyを動かしてダイヤルアップサーバーにする仕事。 PPPサーバー設定ファイル /etc/ppp/options modem crtscts proxyap login idle 180 /etc/ppp/pap-secrets * * "" * /etc/mgetty/mgetty.config port modem speed 38400 data-only y …

Armadilloのシリアルドライバ 8250.o vs serial.o

ArmadilloでHT3010(マルチI/O)のシリアル(16550A)を使っている。今まで8250.oを自分で改造して使っていたが、アットマークテクノのサイトにserial.oがupされていたので、それに切り替えて使っていた。serial.oならばPCM-3648のような8CHシリアルボードもIRQ…

PICで電源WDT

最近私の作るシステムでは、PICを使った電源リセット回路を付けています。PICにメインからの信号が来なくなる、つまりハングした場合にパワーオンリセットをかけます。通常はメインCPU(ARM Linux)からPICにWDTカウンタをリセットする信号を送ります。もし、…

H8で同期シリアル送信

今日は、H8の同期シリアル送信ではまってました。SCI0の送信をDMA0で行います。クロックは外部から供給です。何とか送信出来るところまでは行ったのですが、しばらくするとハングしてしまいます。こういう不安定な問題はやっかいです。しかし、解決しました…

H8 GCCインストールメモ

Win上でcygwinを使ってH8 GCC開発環境をインストールした時のメモです。newlib-1.15.0だと、なぜかsscanf()が使えないのでnewlib-1.13.0にするbinutil2.17だとエラーが出るので2.16を使う参考 H8マイコンを使ってみるブログ http://d.hatena.ne.jp/kfe-b5f6/…

H8 GCCでsprintf

WinXP上にcygwinを入れてGCCでH8用のソースをコンパイルしています。今日はちょっとハマッてしまいました。sprintf()で浮動小数点がが変換出来ないのです。 例えばsprintf(buf, "%f", val);sprintf()まで来るとプログラムが止まってしまいます。最初はsprint…

H8でプログラミング

今日は久々にプログラミングに集中出来ました。H8のGCCでバリバリ...バリバリ...リアルタイムOSも使わずに、メインループと割り込みで、バリバリ作ってます。Z80の頃に比べれば、sprintf()や浮動小数点演算がスピードやメモリの問題なく使えるのがあり…

LF-55 PC104の割り込み

L&FのLF-55(H8 3067F)にアドバンテックPCM-3643(8CH RS)をPC104バスでつなげて使おうしています。PCM3643にはTIの16C554が2つ乗っていて割り込み関係の制御はFPGAが行っています。今回は、PCM3643からの割り込みがかからない問題です。PC104バスの割り込み信…

アナログ系が原因でした

前の2つのエントリで書いた、1Hz平均データが10Hzデータよりもノイズ大きい問題ですが。アナログ系の問題でした。orz 見込み違い...DAの出力アンプに付けたノイズ取り用のコンデンサを外したら、改善しました。1Hz平均データの方が10Hzデータよりノイズ…

違った

前のエントリでノイズをH8 GCC floatのせいにしたが、違いました。(^_^;やはりノイズはアナログ的に入っているみたい。こういう問題は、時間がかかるな...

H8で加算平均に問題

今H8で10HzでAD(24bit)したデータを1秒平均するコードを書いている。 しかし1Hzデータのノイズが少し大きい。 10Hzデータを見ると一定のレベルのノイズになっているのだが、それを平均した1Hzデータの方がノイズが大きい時があるのだ。 なぜ? 加算平均を浮…

無題

電子部品の仕入れには秋葉原に行かずにRSコンポで済ましてしまう今日この頃、いかがお過ごしですか?

Cマガジン

C MAGAZINE (シー マガジン) 2006年 04月号出版社/メーカー: ソフトバンク クリエイティブ発売日: 2006/03/18メディア: 雑誌 クリック: 1回この商品を含むブログ (6件) を見るCマガジンが4月号で休刊だそうだ http://www.cmagazine.jp/ ちょっと寂しい。 で…

組み込み展2005

組み込み展2005@横浜に行ってきた アットマークテクノのSUZAKU用外部拡張ボードが展示されていた。 AD/AUDIO/CF+USB等があるが、私はCFに注目した。 これが使えればデータロガー用途にSUZAKUが使える! 活線挿抜が出来ればさらに良いのだが、抜き差しを認識…

DebainでIDE DMA timeout

マザー Advantech PCM-5820 オンボードCF(hdc)から起動 CFにdebian3.1(sarge)をネットワークinstallCF(hdc)で DMA timoutエラーが出る。GRUBの起動時にカーネルパラメータide=nodmaを渡したところ、 起動時のDMAタイムアウトエラーは出なくなった。

アットマークテクノのSUZAKU

SUZAKUにメモリーカード付けてデータロガーにしたい サブCPU(MicroBlaze)をFPGA内に追加してリアルタイム処理をさせて データをuClinuxに送りたいので情報収集公式HP http://suzaku.atmark-techno.com/SUZAKU関連記事 http://www.kumikomi.net/article/exp…

Sandisk CF

組込型PCカードドライブ(RS232C経由でPCカード読み書きが出来る/ドイツ製DOS-DRIVE)で特定のSandisk CFに問題がある。 CFの容量チェックが3回に1回くらいエラーになるのだ。 問題があるCF 裏面 (C)2000の文字 紙のパッケージ Made in Japan 問題がないCF …

組み込み展

ビッグサイトの組み込み展で坂村健氏の「エンベデッドの未来」という講演を聞いてきた。 組み込みの未来はユビキタスで、ユビキタスはインフラだそうだ。 ユビキタスの実践として色々実験的な試みをしているそうだ、トヨタと一緒に電脳住宅Ver2も作ったそう…

シリアルの問題続き

シリアルの割り込みハンドラを高速ハンドラにしてみたら、エラーが出なくなった。 こんな簡単なことで解決するとは。insmodする時にオプションで渡せばいいのかもしれないが、ソース8250.cをいじった。static int serial_link_irq_chain(struct uart_8250_po…

Armadilloでシリアルoverrun

Armadilloに シリアルインターフェースHT3010 CFカードドライブHT3040 を接続して使用 カーネル linux-2.4.21-rmk1-armadillo-2 PCMCIAドライバ pcmcia-armadillo-2.4.21シリアルで9600bpsでデータを受信し、そのデータをCFカードに記録 シリアル用のドライ…

H8用のフラッシュライタ

H8/OSで作ったプログラムをH8/3069Fの内蔵フラッシュに書き込む。 いままでは、H8/OS関係のフラッシュ書き込みプログラムを使っていた。 このツールは20/25MHzの水晶にしか対応していないみたいなので、 CPUの水晶を14.74560MHzに変更したら使えなくなってし…

タイムアウト1秒以上のWDT

タイムアウト1秒以上のWDTが必要なのだが、探してみると意外と見あたらない。 色々探した結果MAXIMのMAX6301を見つけた。 外付けRCが必要だが、WDTのタイムアウトを数十秒まで長く取れる。 最新のICならば、外付け部品が無くても良い物があるのだがタイムア…

組み込みLinuxお役立ちリンク

デバドラや割り込みハンドラの実例がコード付きで紹介されている だいぶ助けられた http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/indexframe.htmlLinuxシリアルポート デバイスドライバの解説と使い方 http://www.devdrv.co.jp/download/e-unix/…

VSAT

VSATという比較的安価な衛星通信がある。 Ethernetを介して遠隔地とネットワークを組むことが出来る。 遠隔地のPCと同じLAN上につながることが出来るので便利である。 今日はその60cmパラボラアンテナ(アメリカ製)と格闘した。 パラボラアンテナの焦点位置に…

Armadilloの外部割り込み

ArmadilloのPC104バス上のIRQ5に割り込みを入れようとしている。PC104バスの割り込みについて調査してみた。 一般的には正論理のレベル割り込みが多いArmadilloの場合 IRQのレベル request_irq()前 Hレベル request_irq()後 LレベルHT3010 シリアルIRQ3の割…

Linuxでマルチスレッド

アットマークテクノ製Armadillo上で開発を行っている。CPUはArmである。 マルチスレッドアプリケーションを書いているが、スレッド間で共有しているdoubleのモジュール変数の値がおかしくなる。 ミューテックスを使ってロックしているのだが。 スレッド内で…

coLinux

今日はH8とは打って変わってArmadillo上で動くLinuxアプリの開発をしている。 Armadilloとは、アットマークテクノ製のARMベースLinux CPUボードである。 http://armadillo.atmark-techno.com/ このソフトの開発をcoLinuxというWindows上で動くLinuxで行って…