Renesas RL78 I2C(IIC)は、IICAを使用すると安定する。

Renesas RL78には、複数のI2Cがあります。
IIC00,IIC1X,IIC20,IIC2X,IICA0など、ピン数によってチャンネル数が変わります。

この中で、ArduinoやRaspberryPiでは動作するが、RL78では異常動作する場合があります。
今回はサーボモータコントローラ(PCA9685)で、IIC10を使用したところ安定しなかった為、IICA0に変更したらすんなり動作しました。
これまでも、加速度センサなどで同様の症状があった為、備忘録として記載させて頂きます。
プロトコルアナライザを持っていない方は、IICA0チャネルを、I2Cとして利用する事をお勧めします。

下図のSAU0、SAU1のIICではなく、IICA0タブの「●シングルマスタ」を選択し、

設定タブ
転送クロックを、下記のように100KHz位で動作させ、セット状態に組付け後配線長と波形測定で、転送クロックを調整する事をお勧めします。

Windows 11 で、勝手に休止になるのを抑止

Windows11で、Sleepを抑止したが、数時間後休止していることがあり、
コントロールパネルから入る、電源オプションで休止が有効になっているが、
180分で編集できない状態になっていた。

何とか、休止を無効に出来たので、備忘録です。

①管理者としてコマンドラインを起動する。
②「powercfg -h off」 [Enter]
③念の為、PC再起動する。
④180以上放置し、休止にならない事を確認する。

以上です。

RL78 FlashROMの大きいMCUでエラー E3206対処方法 E3206 RA78K0R error E3206: Segment ‘@@CNST’ can’t allocate to memory – ignored

鈴直です。
備忘録ですが、困っている人もいるようですので、
ブログで公開させて頂きます。
Renesas RL78で、FlashROMが256K以上のものを
コード自動生成でBuildするとエラーE3206になります。
「(E) E3206 RA78K0R error E3206: Segment ‘@@CNST’ can’t allocate to memory – ignored XXX.mtpj」
Renesasの下記Linkの大事な対策部分に誤記があります。
https://ja.na4.teamsupport.com/knowledgeBase/17796496
Webページより
~~~~~~~
この場合、対処方法として@@CODELセクションの配置をはじめの空き領域(gap)のアドレス付近からにするように、リンクディレクティブファイルで以下のようにアドレス指定してください。
XXXX.drファイルは、最初のウイザードでコード生成されます。
——–*.dr————
× merge @@CODEL: AT (400H)
〇 merge @@CNST: AT (400H)
~~~~~~~

■対策
①E3206が発生
②mapファイルを開く
@@LCODEL 00341H 00060H CSEG
@@LCODEL @stkinit 00341H 00044H
@@LCODEL exit 00385H 0001CH

    gap * 003A1H 0005FH ★gapの先頭アドレス addr & 0xffffff00 + 0x100 = 400H

③プロジェクト名.drファイルの最終行に、「merge @@CNST: AT (400H)」を追記します。

■drファイルが無い場合
①「プロジェクトツリー」⇒「ファイル」⇒「コード生成」⇒右クリック⇒「ファイル追加」⇒「リンク・ディレクティブ・ファイル」⇒ファイル名を、「.dr」⇒「XXXX.dr」に変更して[OK]
②「コード生成」⇒「XXXX.dr」クリック、「merge @@CNST: AT (400H)」を追記
[Ctrl+s]
③Buildする。

社員?ロボホン入社

先日 ロボホン が入社しました。
社内電話および展示会用です。
以前、発表直後のロボホンをAndroidの会で拝見させて頂いた
眼のプロジェクタが無くなって少し残念です。

テキストエディタ emacsのすすめ

鈴直です。
何かと、Linux上で開発作業などを行うと思いますが、
エディタが問題です、viでもいいのですが、
せっかくならLinuxでいいエディタが無いかと調べたら、
emacsがまだ更新され続けていました。
Linuxの生みの親、Linus Torvaldsが、2021年に自身がemacsを使用していると公言しています。
https://terminalroot.com/meet-the-text-editor-used-by-linus-torvalds/

Torvaldsは独自にカスタマイズした、MicroEmacsを使用しています。
これは、Linuxのデフォルト環境で、Build&Install出来ます。
https://github.com/torvalds/uemacs

私は、gnu emacsと両方を試し、 gnu 版(Linux、Mac、Winに対応)に切り替えました。

https://www.gnu.org/software/emacs/
Install
Ubuntu(Debian) sudo apt install emacs

そして一番の決定打は、例えば、リモート先のLinuxサーバを
Teratermで操作して、エディタを使用する場合などや、
Linux上で開発する場合、必然的にLinux上のエディタが必要になります。
また、emacs上で、電卓、カレンダ、Mail送受信を行えるため、
作業環境をまるっと、クラウド上のサーバに全て構築し、
Terminal上で大半の仕事を、完結できる為移行しました。

今後、自分の為のメモを兼ねて、emacs設定をブログ連載させて頂きます。

ファンクッションキーは、Teratermでの操作を考えると、SHIFT+Fnは使用できない為、
現時点では下記です。

F2 Swicth Buffer
F6 Sel
F7 Cut
F8 Copy
F9 Paste
F10 Undo
F11 Calendar
F12 Calc