nRF52840の開発環境を作成する’24.10月編

二年前、Nordic Semiconductor社のBluetoothマイコン: nRF52832 のプログラムを作成しました。国内メーカのBluetoothマイコンより安価で多機能、豊富なライブラリ、処理スペックも上で弊方の中では高評価でした。(ただし情報が全て英語にはなってしまいますが、、、) 今回新しい企画でBluetooth通信を行うため、上位マイコンnRF52840 を選定しました。こちら Long Range に対応しており離れた車両と通信接続時間の長さ期待できます。 2年前とは手順も増えて複雑、違いも大きかったのでその覚え書きです。基板は nRF52840 DK を使います。


2年前は、汎用の組込み用IDE: SEGGER (セッジャーと呼びます、セッガーかもしれません) のNordic Version 5.60 が使えていました。現在Version 5.68としてここで配布はされていますが、以下のようには、エラーが出たり、ライセンス発行画面が真っ白です。

WEB上の一般記事に、VS Code + Nordic Extension のみになったと記載がありました。


環境セットアップには python が必要です。指定されたエディションを使う必要があるようです。少なくとも Microsoft Store で配布しているものは以下エラーが出ました。


DevZone : ユーザ登録システム、登録しましたが、ログインしてなくてもインストールは可能でした。

Zephyr : 標準ライブラリ?


基本は以下のとおりですが、公式手順を見ると、どこまでが自動でどこが手動か分かりにくいです。弊方では一部エラーが出ていたため手入力でも一通り実施しました。

1. J-Link (PCとマイコンと接続するためのインターフェイス ) は nRF Connet SDK でインストールされるため事前インストールは不要。

2.VS Code のインストール。最新でOK。

3. nRF Connet Desktop をインストール。

4. nRF Connet Desktop からnRF Connet SDK をインストール。この時、VS Code の未インストールだと進めません。v2.7.0は以下のエラーが発生、v2.6.2をインストール。なお2年前とくらべ SEGGER のインストールメニューは消えています。

5. nRF Connet Desktop からnRF Command LineTool をインストールを促され、ダウンロードベージに飛ぶので、D/Lしてインストールします。後から入れてもOK。

6. chocolatey というWindow用のパッケージマネージャをインストールします。まずnuget.exe (Visual Studio用機能追加の仕組みのコマンドライン版)をダウンロードし、以下のコマンドをたたきます。

7. chocolatey を用いて、python など必要パッケージをインストールします。何なのかは理解していません。

phtyon は、nRF Connet SDK で自動で以下にインストールされている模様。今回は公式手順どおりに、chocolatey で入れたものを使用しました。

8.python の pip3 を用いて、指定されたパッケージをインストール。以下コマンドラインシーケンスです。

9.ARM 用gccをダウンロードして、指定場所に配置。弊方は配置自由度のあるzip版を選択。

10.Windows上で、gccのパスを通す。

11.VS Code に Nordic 用Extensionを追加します。nRF Connect For VS Code Extension Pack でまとめられています。それを開いて追加します。

以上、たいへんな長旅でした。


1.VS Code に左ペインの nRF Connet アイコンを選択し、現れるツリーからProjectを作成します。

2.以下のようにProject名を入力。

3.APPLICATIONのツリーから、Build構成以下のように生成します。

4.生成されたProject全体の様子は以下のとおりでした。2年前 nRF52832 で SEGGER で作成したコードを流用しようと考えていましが、ライブラリの構成が全くちがうように見えます


今回はプロトで過去のHowToを流用して手早く準備したい。ゆくゆくは製品化時に最新化することとし、既存のSEGGERにて nRF52832 の.Project file を、nRF52840 の.Project file に手動マージし対処しました。

SAMPLEコードのnRF52840 のセットをマージします。

SEGGERでビルドして、nRF52840 DK基板のスイッチを以下のように変更し、USB接続し、J-Linkが現れるのを確認します。

SEGGERで以下のように J-Link と接続します。

以下のようにデバックを開始します。ターゲット基板への手動ダウンロードは必要ありません。(行った方がなにかおかしな状態になる)

今回はBuletoothマスター側なので、Android端末でペアリング検索してみます。うまくいきました。

SEGGERで以下のメッセージがでましたが、取り急ぎそのまま続行して問題なかったです。

以上です。Nordicマイコンの使い方でお困りの方、急いで動かしたい方は、ぜひこちらよりご相談ください。

WinCvsのpserver設定

現在WinCvsの設定情報中々ないので、その設定覚書です。

Windowsのコンピュータ名とアカウント名を設定します。リポジトリエリアス名は次のように設定します。

コントロールパネルから、CVS For NT を選びます。CVSNT画面から「設定変更」ボタンを押したあと、リポジトリタブを開きます。そこでWindowsパス名に対するエリアス名を設定します。

コントロールパネルから、CVS For NT を選びます。サービスの状態タブを開き、開始ボタンを押します。CVSサービス CVSロックサービス の2つがあります。 ロック の方は開始できないときがあるようですが気にしない。

開始状態は、Windowsサービス画面でも確認できます。

リポジトリがローカルであってもログインしないアクセスできません。WinCvsのメニュー 管理 -> ログインを選びます。ログイン画面からOKボタンをおし、パスワード画面を出します。ここでWindowsアカウントのパスワードを入力します。CVSは、UNIX系の産物なので別設定するのかと深読みをしないこと。

成功すると何もメッセージがでません。エラー時のみメッセージがでます。

WinCVSでユーザ不一致でcommitできない場合

弊方では CVS を使いつづけています。理由は、SVNGit はファイル単位で管理できないためです。CVSは ソースファイル.v で管理され、.vファイル 単位でコピー削除移動が可能。.vファイル はテキスト形式なので、壊れても直せる。各パスのCVSディレクトリの管理ファイル Entries / Repository /Root をもシンプルなので直接いじりやすい。Windows上では、WinCVS および CVSNT を用います。いまはどこで配布されているのかはよく分かりませんが、昔とっておいたものを使いつづけています。一応、Windows11 でも動作しています。

たまにしかセットアップしないのでその覚え書きです。


さてWinCVSで、コミット時、急に以下のようなエラーが発生するようになりました。

cvs commit: user ‘ユーザ名’ is not a valid editor of the file ‘対象ファイルl’
cvs [commit aborted]: correct above errors first!

弊方では、リボジトリはローカルPCに pserverアクセスです。しかし、一部local参照しているProjectもあるため、リボジトリディレクトリを、Windowsのシンボリックリンクで割り当ててます。その関連で、何かWindowsの仕様がかわったのでしょうか?

pserver から localアクセスに変更しても変わらず。リボジトリのWindows上のユーザ権限を見直してもダメ。結局原因は以下でした。

しょうもない原因でした。

e2studioでRH850F1KHを使うときの注意

弊方では、CS+ より e2studioの方を優先して使ってます。eclipceの機能や各種プラグインが使え(特にvim)効率が高く、CS+ と対マイコン機能も遜色ない。ただマシンパワーが少々必要です。

今回、RH850F1KHを使うにあたり気付いたことをメモです。正しくはリリースノートに記載されているとは思います。今日のところはCC-RH無償版です。

e2studio 2022-10 では未対応

組込みのセオリーではありますが、他案件でこのバージョンを使っているためUpdateしたくないのですが、未対応でした。以下詳細です。

ヘルプ -> e2studioについて -> インストールの詳細 -> Renesas Device Support から対応マイコンを確認するとツーリーには現れますが Debug 以外はNo がついています。どういう意味なのでしょうか? もしかしてCC-RH無償版ではNG!?

ファイル -> 新規 -> Renesas C/C++ Project -> Renesas RH850 -> Renesas CC-RH Executable Projet と選択し、プロジェクトダイアログ 名を入力、次のダイアログでターゲットデバイスの「」をクリックし、Device Selection画面からは F1KH はでてきませんね。

昔昔は、マイコン毎に「デバイスファイル」がデリバリされていて、それをIDEにインポートしてましたが今はそうではないんですね… ルネサスダウンロードを探しても見つかりません。

しかたなくアップデートを試みましたが、JDK環境エラーになりました。

互換は、JDK17 でPCには JDK18 がいれてあります。JDK18 は認識されず OpenJDK が認識され引っかかっています。JDK17/18は今はOracleの管理下のプロダクトで、OpenJDK はそれとは違う管理されていないもののようです。e2studio 2022-10 に以下のように一緒にインストールされていたみたいです。

e2studio 2024-07 では対応

JDKの環境も、e2studio 以外にもいろいろ影響が考えられるので、比較的クリーンな別PCに最新版2024-07をインストールすると、F1KHでプロジェクト生成ができました。以下詳細です。

Renesas Device Support の対応マイコンツリーは以下のとおりでした。

プロジェクト生成時のDevice Selection画面の内容は、

一応ひな形自動生成ツール スマートコンフィグレータ で自動生成し、まだ基板は工作中なのでRH850シュミレータ で実行までしてみてOKでした。シュミレータの簡単な設定方法は以下のとおりです。

RH850コンパイラ状況

とりあえず今からコンパイラ要購入でなくてヨカッタです。

ちなみに CC-RH は C++ 未対応なんですね。C++はサードパーティ製のみ。

gcc も RL78、RX系、V850は対応してますが、RH850は無いようです。

C++ で効率よくつくりたいものです。

Microsoft Visual C++ 2015-2022 Runtime (x86): が既にインストール済みか、ターゲットバージョンの異なるエディションが入っていた場合、インストールエラーになってしまうようです。

ひとまず基板入手できるまで何か進めないといけません。

PCシミュレータ編につづきます。

e-taxで累積赤字決算申請する3:市町村向け

前記事では都道府県への申請を行いました。

つづいて市町村への申請をします。

PCdesk(DL版) を再起動し、市町村用のアカウントでログインします。右上の納税者切替ボタンはうまくいかない感じです。あとは県の場合と同じです。

作成する申請書は、「第二十号様式」のみです。この留意点は、この申告の基礎 は入力してはいけません。年号が選択できるようになっていますが、ついつい触ってしまわないように気を付けます。

従業員数、期末現在の資本金額、右下のチェックボタン3つ、決算日 を入れておいています。

納税情報の申請時には、税目区分法人市町村民税 に切り換えて検索する必要があります。

その他

起業初年度で、起業月の途中日から開始した場合は、均等割の計7万円が日割りで割引かれます。初年度は知らずに申請しましたがシステム上チェックはかかりません。後から、県の方から手紙が来て返却されました。県の方から「市の方も申請すれぱ返却できるはず」と言われいすました。(市からは特に連絡なし)

まとめ

eLTAXの操作は、余計な画面や確認が多くて難しいです。しかし手書きして税務署に行くよりははるかに効率的ではあります。しかしながら、操作がWEBだったりPCアプリだったり、国用と地方用が別だったり、一つにまとめれば開発費も減り、税金も大事できたのにと思う次第です。