denshikobo’s blog

PICプログラミングやPCの操作で感じた日々の由無し事を綴ります

break_conditionとbreak_statusの操作は混乱気味

PIC側に設定されているbreak_conditionとbreak_statusをホスト側で読み取り、break_statusをクリアして書き戻したり、break_conditionに”THRU”または”BREAK”を設定して書き戻したりする操作を組み込もうとしています。 break_conditionとbreak_statusを反復…

秋月電子からPIC32を実装した基板が売り出された

秋月電子からPIC32を実装した変換基板二種(PIC32MX370F512HとPIC32MZ2048EFH144)が売り出されました。 akizukidenshi.com akizukidenshi.com PIC32MX370はMCCが使えるので気軽に開発を始められるものと思いますが、PIC32MZはHARMONYで開発することになるの…

function_listにcinitを追加した

mapファイルを解析してcinitのアドレスを取得するのは簡単でした。それをfunction_listの末尾に表示させるところで、手間取ってしまいました。 function_listはelf(dwarf)ファイルの解析結果をリスト形式で記録しています。そこにcinitのアドレスを追加す…

cinitのことを忘れていた

PICのProgram Memoryを眺めていて、リセットからMain関数が呼び出される前に、何か処理していることに気が付きました。リスト・ファイルを調べて見ると・・・Cプログラムの初期化処理(cinit)です! ユーザ・プログラムの起動は、単純にmain関数を呼び出せ…

PIC側の機能はほぼ揃った

Break ConditionがTHROUGHならBreak StatusはTHROUGH(またはNULL)、Break ConditionがBREAKならBreak StatusをBREAKにしてBreak_Loopを呼び出す。RESTARTコマンドでBreak_Loopを抜けて、元の関数に戻る。これがBreakの動作仕様です。 Break ConditionにTHRO…

PICkit3の夏バテ対策を見つけた

現在の気温は27度。久しぶりに涼しい朝を迎えています。お陰様でPICkit3も好調です。 気温が30度を越すとPICkit3の調子がおかしくなる(<==夏バテと呼んでる)のですが、最近頻発するのが”A tool request has been waiting for・・・”というエラーです。 デ…

PICkit3が夏バテした

昨日(8/9)は関東地方も38度を超える猛暑日でした。 エアコンの無い(扇風機だけ ^_^; )部屋で開発しているので、室温もぐんぐん上がっていきます。 昨年も経験しているのですが、猛暑日になるとPICkit3がおかしくなります。昨日も3時過ぎに変なメッセー…

関数を固定アドレスに配置してみた

目指しているのは、ユーザ・プログラム(HEXファイル)をFlashメモリに書き込んで、ユーザが定義した関数を呼び出すことです。 HEXファイルを読み取り、Flashメモリに書き込むところまで出来ました。 あとは、書き込んだFlashメモリ上のアドレスを関数コール…

MPLABXの不具合が解決した

意外な結末でした。 comm.cを組み込むとMPLABXの動作がおかしくなることが分かって、調査は一気に進みました。先ずはcomm.cのコードの殆どをコメント・アウトして試してみると 問題なし(まぁ当然の結果です)。前半分のコメントを外しても問題なし(これで…

MPLABXの不具合が再現した

MCCで新たにProjectを起こして、起動確認 ==>Breakポイントの表示もStep実行も問題なし debug.cとdebug.h,ring_buffer.cとringbufer.hを追加して動作確認 ==>Breakポイントの表示もStep実行も問題なし 少しずつ機能を追加して・・・ comm.cとcomm.hを追加し…

MPLABXの動作がおかしくなった

突然、MPLABXの動作がおかしくなりました。 ユーザ・プログラムの初期化コードに設定したブレーク・ポイントで停止しているのに、当該プログラム行をハイライト表示してくれません。Program Memoryウィンドウの表示を確認すると、ブレーク動作は正しいように…

MCCでサクッと開発開始

Tools ==> Embedded ==> MPLAB Code Configuratorと辿って、MCCを起動すると下のような画面が表示されます。(<==起動に時間が掛かります)今回はホストとPIC間の通信にUARTを使い、Flash Programmingを行うので、Device ResourcesからEUASRTとMEMORY(<==下…

denshikobo's blog再開のお知らせ

暫く更新していなかった、denshikobo's blogを再開致しますので、宜しくお願い申し上げます。 PICの新しい開発環境に関する構想(<==妄想)を得て、今年の6月から開発し始めました。初期構想から二転三転して(何時ものことです)、ようやく『これ』という…

OrangePI PCにsambaをインストールした

(2016.12.01)OrangePI PCとRaspi間でファイルを送受出来るようになったので、既存のscriptファイルを使ってsambaをインストールします。$ scp pi@192.168.2.101:./samba_install.sh ./中身はこんな感じです。#!/bin/bash#<Install samba>sudo apt-get install samba samba-c</install>…

OrangePI PCとRaspiをscpで接続してみた

(2016.11.30)ローカル・ネットワーク内にあるコンピュータとファイルの送受が出来るようになると、大変便利です。OrangePI PCにSSHでログインできるのでscpコマンドでファイルの送受が出来る筈だと考えました。pi@Raspi-1:/opt/sambaへファイル送信を試みた…

OrangePI PCの初期設定からリモート・デスクトップ接続してLチカまで

(2016.11.28)前から気になっていたOrangePI(Raspberry pi互換機)を手に入れました。送料込みで凡そ¥2000(これ↓)です。https://www.aliexpress.com/item/Best-Seller-Orange-Pi-PC-H3-Support-the-Lubuntu-linux-and-android-mini-PC-Beyond-Raspber…

Analog_referenceが動き始めた

(2016.11.19)電流センサーの校正回路を検討していて、これを単なる校正回路に留めておくのは惜しいと思うようになりました。Raspiで操作する基準電源(直流電圧源&直流電流源)になるのではないかと考えたのです。回路はこんな感じです。 基準電源ICと12bit…

電流センサーを作り始めた

(2016.10.25)18650バッテリーと充電器の動作テストは一応終了しましたが、充放電電流を観測出来ていないのが心残りです。秋月のカタログページを眺めていてこんなものを見つけました。 (↓)http://akizukidenshi.com/catalog/g/gI-07014/http://akizukidens…

NCR18650Bの充放電試験を始めた

(2016.10.10)Oscilogi410に新たに組み込んだデータ・ロガー機能は、18650と充電器(これです↓)の評価試験を行うためでした。 https://www.amazon.co.jp/gp/product/B010FJTEFChttps://www.amazon.co.jp/gp/product/B00IFXP1NU 試験の結果、電池容量はおよそ…

Oscilogi2(PIC基板)の動作がおかしい

(2016.10.02)Raspi3に乗せたOscilogi2の動作がおかしいことに気付きました。Osci_Logi_Consoleの起動直後に計測ボタンが点滅しています。計測ボタンを押していないのにPICは計測中のようです。しかも、中断ボタンを押しても止まりません。データ・ロガー・モ…

100mHzサンプリング試験が無事終わった

(2016.09.30)時間の掛かるOscilogi410の24時間連続計測試験ですが、不具合無く動いてくれればサクサク進みます。500mHzサンプリングと100mHzサンプリングの連続計試験が無事終了しました。100mHzサンプリングだと24時間で反復回数は4回ですが、まぁ十分なん…

Oscilogi410のプロセスを調べてみた

(2016.09.29)Raspi上で走るOscilogi410のプロセスについて調べてみました。$ ps -C java -o pid,ppid,psr PID PPID PSR1952 1950 2$ ps -C bcm2835_for_java -o pid,ppid,psr PID PPID PSR1968 1952 3bcm2835_for_javaの親はOsci_logi_Console.jarを実行し…

Oscilogi410の不具合対策で苦労した

(2016.09.28)24時間連続計測試験について、『連続計測試験に失敗して・・・何とか対策を施して・・・』と記しましたが、”エラーで通信が途絶えたら、それを修復して計測試験を続行する”という対策でした。充電器の充放電試験を出来るだけ早く行いたいという…

動作テストでOscilogiを壊した

(2016.09.25)机の脇にPIC32MX250F128Bが二個転がっています。充電器の動作テスト中に交換したものです。Oscilogi410の信号入力端子に保護回路は付いていないので、0~3.3Vを越える電圧を掛けるとPICに異常電流が流れて壊れてしまいます。Oscilogi410に接…

連続充放電試験の準備がもうすぐ整う

(2016.09.12)(これ↓)の動作テストを行うため、Oscilogiにデータ・ロガー・モードを組み込みました。 https://www.amazon.co.jp/gp/product/B010FJTEFC/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1データ・ロガー・モードの24時間連続計測試験に失敗して…

Oscilogiの連続計測試験に失敗した

(2016.09.07)9月4日にOscilogiのknown bugが無くなり、反復計測機能の組み込みを終え、最終テストに臨みました。データ・ロガー・モードで反復計測します。データが一杯になったら計測値をファイルに書き出し、再びロガー・モードで計測を続けると言う動作を…

Oscilogiのデータ・ロガー・モードが動き出した

(2016.08.30)読み取りデータを指定するコマンドに読み取り開始位置を追加して、部分データの読み取りはすんなり実現しました。一画面分のデータ表示が毎秒1回可能(Raspi2Bで700mS掛かる)ということが判ったので、部分データの表示は止めて従来の表示のま…

Oscilogiの新たな課題に取り組むことにした

(2016.08.25)Oscilogiの開発は『自分が必要となった機能を実現する』という方針で進めてきました。今やりたいのは、(これ↓)の動作テストです。https://www.amazon.co.jp/gp/product/B010FJTEFC/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1充電器とバッテ…

Oscilogiの大きな課題が解決した

(2016.08.21)そこそこ動いて、それなりに使えているOscilogi410なんですが、実は大きな課題を抱えていました。bcmlib_for_javaは1回に送受できるデータ量に1024バイトの制限があります。Oscilogi410の計測データは(オシロとロジアナ合わせて)24kバイトな…

Oscilogi on Raspi3問題が解決した

(2016.08.16)Mike McCauleyから”bcm2835_i2c_setClockDivider(uint16_t divider) 関数を使え”と言われ困っていました。つまり、core_freqの値に合わせてClockDivederの値を替えるしかない、ということです。そのcore_freqのdefault値がRaspi2では250MHz、Ras…

Mike McCauleyから返事が来た

(2016.08.15)i2c_set_baudrate関数の件でBCM2835のGoogleグループ(ここです)に質問を投げてみました。(spelling errorは毎度のことなので諦めています)するとMike McCauley(BCM2835ライブラリの作者)から返事が・・・Hi,still unable to investigate t…

Raspi-3でオシロジが動いた(その2)

(2016.08.11)Raspi-3でオシロジが動かなかった原因が判明しました。Raspi2BのオシロジでRaspi3のSDAとSCLをモニタして、baudrateがおかしい(100kHzの設定に対して160kHzで動作している)ことに気付きました。PIC32mxのbaudrateを100kHzに設定しているので、…

Raspi-3でオシロジが動いた

(2016.08.03)暫く前にRaspi-3を入手したのですが、Osci_logi_consoleプログラムが動いてくれません。そのまま暫くお蔵入りしていたのですが、今日は、それを調べてみました。『コマンド送信は正常動作している(<==ように見える)のに、データ受信が何故出来…

ヘッダピンの取り付けを間違えた

シングルインラインヘッダピンの取り付けを間違えた。 しかも60pin以上。orz 電動式の半田吸い取り機があれば修復も容易なのだが、高価なもの(3万円くらい)なのでなかなか手が出ない。 そんな折りにネットでこんなものを見つけた。 www.monotaro.com 初代…

PICkit3で書き込みできない

(2016.07.14)Code Configuratorが生成したコードをコンパイルしてPICkit3で書き込もうとしたのですが、Vddのオーバーカレントで書き込みシーケンスが進みません。orzHeater_ControlerとSolder_Controlerを組み立てたときは、問題無かったのに何故だ?(<==実…

Solder_Supporterを作り始めた

(2016.07.13)久しぶりのブログ更新です。以前制作したHeater_Controlerと Solder_Controlerを一つにまとめた、Solder_Supporterの制作を開始しました。Heater_Controler基板と Solder_Controler基板を組み合わせて一つのケースに収める計画です。久しぶりにM…

3軸ジャイロセンサ(L2GD20)が動き始めた

(2016.04.10)以前、PICクラブで頂いたTQFPパッケージのデバイスを使って引き半田を練習しました。 あくまで半田付けの練習用と考えていたので、何だか判らないまま頂いて来たのですが、調べてみるとdsPIC33FJ64MC706(↓)でした。(ラッキー!)http://www.m…

ASK通信を試してみた

(2016.03.29)倒立振り子ロボットを作ってみようと考えて(<==妄想段階)います。立つだけでなく、外部コマンドに従って自律走行するものを目指していて、そのコマンドを送受する仕組みとして、ASK通信を試してみることにしました。 使ったのはこれ(↓)です…

やらかしちまった!

(2016.03.28)ELECROWに発注した基板が、思いのほか早く(出荷から4日で)届いて喜んだのですが・・・オペアンプをはんだ付けしようとして、愕然としました。足がパターンに乗りません。orzSOP-8は1.27mmピッチなのですが向かい側のピンとの距離(Overall Wi…

アダプター基板の設計が固まった

(2016.03.03)二転三転していたオシロジのアダプター基板ですが、DCアンプを止めて、ゲイン可変のACアンプを(二回路)設けることにしました。トリマでゲイン調整する方式は(固定ゲインを切り替える方式よりも)簡便で使い勝手も良いのですが、計測した波形…

オシロジのアダプター基板を作り始めた

(2016.01.08)オシロジ機能を拡張するアダプター基板の設計を始めました。拡張機能の一つはリニア・アイソレート計測です。現状でもAC100V直結回路の信号計測は可能(<==一回やってみた)ですが、RaspiごとACラインに接続する瞬間はドキドキでした。(使用し…

オシロジのノウンバグが無くなった

(2015.12.20)11月のPICクラブでオシロジの開発状況を『(ほぼ)完成』と報告しましたが、実はノウンバグがいくつか残っていました。バグを一つ一つ片づけている最中に新たなバグが見つかったりして、なかなかノウンバグのリストは短くなりません。それでも…

MCCを使ってサクッと開発・・・出来なかった

(2015.12.02)X-TALオシレータの発振周波数がどうもおかしいので、手元にあったPIC16F1705で簡単なタイマー回路を組んで調べてみることにしました。 ブレッドボード上に回路を組み、MCC(MPLAB Code Configurator)でタイマーetc.を定義したプログラムでX-TAL…

Free EditionではRegister変数が使えない?

(2015.11.17) ===================== 記事の途中、SkypePhoneへのリンクが生成されていますが無視して下さい ===================== PIC32用のCコンパイラXC32のマニュアルの9.6項にRegister変数に関する記述があ…

オシロジの描画に不具合が見つかった

(2015.11.16)オシロジの開発が佳境に入りました。オシロジの構想が(スペックはダウンしましたが)ようやく実現しつつあります。念願のオシロジ動作(オシロ4CHとロジアナ10chの同時サンプリング)も無事達成・・・と喜んだのも束の間、問題が見つかりました…

inline指定が無視されている?

(2015.11.04)PIC32MX250F128を使った最小モデルのオシロジをOscilogi410(オシロ4CH、ロジアナ10CHの意)と呼ぶことにしました。(以前はOscilogi2と呼んでいた)PIC32MX250F128は最大500kHzでAD変換できます(スペックは1MHzだったのですがErrataで・・・)…

デバッグの新しい技を習得した

(2015.10.29)描画パラメータを計算するルーチンにデバッグ・ダンプ文を挿入したところ、何故か複数回呼び出されることが判りました。オシロジのJAVAプログラムは(何度も手直しを重ねたため)些か見通しが悪くなっていて、どこから呼び出しているのかはっき…

BCM2835ライブラリのバグ?

(2015.10.24)オシロジのJAVAプログラムはbcmlib_for_java(これです)を使ってI2C通信を行っています。bcmlib_for_javaは、BCM2835ライブラリ(これ)をJAVAから呼び出すラッパーとして動作しますが、BCM2835ライブラリ(<==root権限で動作する)を直接JAVA…

Harmonyを手なずける

(2015.10.18)PICを使ったオシロジの開発を続けています。以前掲げた開発項目は機能確認の段階に達しました。(1)時間軸の導入(2)計測パラメータ変更(3)PIC側の計測機能変更(4)カーソル機能の導入(5)拡大表示機能の導入 <4CHサンプリングを試…

オシロジ開発は、今こんな感じ

(2015.09.28)PICを使ったオシロジの開発を進めています。最小モデルのOscilogi2はPIC32MX250F128(これです)を使い、オシロ最大4CH、ロジアナ最大10CHという仕様でオシロとロジアナの複合表示に取り組んでいます。(PIC側の計測機能は動いている)ダミーデ…