開発ソースの共有

今年のガジェット系の目標を達成すべく、複数のPC間での開発環境の共有を進めている。
お座敷コンピュータには開いてひざの上におけるMacbook Proは必要十分なのだが、外に持ち歩くとなったとたんに重い・デカいだ。
そとでお暇コンピューティングをするときに、Macbook ProUMPCとで趣味プロジェクトが完全共有できていればとてもversatileだ。
MSFT謹製のOne Driveでやる方法もあるのだが、ファイル共有の場合にはconflictの処理がめんどうだ。
ということで、個人プロジェクトとしては少々大げさだがすべてgithub経由でSVCすることにした。
一度repoの設定さえしてしまえば、あとはpush/pullすればよいので、楽っちゃ楽。

趣味グラムは主にC言語が多いので、VS CodeMinGWVS Codegithubとのソースのやり取りが統合されているので便利だ。
もう一方は相変わらずVerilogなのだが、先週末にQuartusのプロジェクト・ソースのSVCの設定は完了した。
こちらはGithubへのアクセスが統合されていないので、コンソールでpush/pullになる。
次はNios IIのプロジェクト・ソースで、先週末の作業でどうにかやり方が見えてきた。
その次はARMに乗せるLinuxのプロジェクトとソースか?

(雑なメモ)githubにQsysを使用したQuartus PrimeのFPGAプロジェクトのrepoを作成する

"自己責任"、"「転んでも一人で起きる」"の意味がわからない方は、以下の記載の事柄は適用しないように、お願いいたします。
トライ&エラーで見つけた方法なので免責条項を書いておく。

基本はこちらと一緒で、不要なファイル・フォルダは削除し、それらを.gitignoreに登録すればよい。
Qsysを使用している場合、必要なファイルはプロジェクトルートフォルダに作成される".qsys"だけだ。
後は根こそぎ削除して構わない。
"Platform Designer"で".qsys"ファイルを開き、"Generate HDL"を押せば中間ファイルは全て再生成される。
またQuartusでのVerilogからのFPGAイメージの合成では中間ファイルは使われない。
つまり.gitignoreには

/*.sopcinfo
/.qsys_edit/
/(qsysプロジェクト名)/

となる。

(雑なメモ)githubにQuartus Primeの単純なFPGAプロジェクトのrepoを作成する

"自己責任"、"「転んでも一人で起きる」"の意味がわからない方は、以下の記載の事柄は適用しないように、お願いいたします。
トライ&エラーで見つけた方法なので免責条項を書いておく。

githubを使ったことがない方はまずこちらから。

レポジトリを作る

"Start a Project"をクリックし、"Repository name"を入力して"Create Repository"をクリックする。
次に表示される"https://github.com/(アカウント名)/(レポジトリ名).git"がレポジトリのURLになる。

ローカルレポジトリを初期化

FPGAプロジェクトのフォルダでコマンドプロンプトを開き、
(explorerのlocation barに"cmd"と叩くと、そのフォルダーをカレントディレクトリにしてコマンドプロンプトが開く)

git init

リモートレポジトリを追加

git remote add (リモートレポジトリの名前、以下で書くがデフォルトは"origin") (githubのレポジトリのURL)

ここまでは通常のプロジェクトでも一緒だ

pushする必要のないファイル・フォルダを削除する

Quartusではプロジェクトファイルの.qdf、.qsf、およびverilogのソースファイル以外はプロジェクトを読み込みコンパイルすれば再度生成されるので、それらのファイルフォルダは削除する。

.gitignoreをフォルダーに追加する

中身はこんな

/db/
/incremental_db/
/output_files/
/simulation/
/c5_pin_model_dump.txt
/*.qws

つまり、上の作業でこれらのファイル・フォルダは消してしまってよい。

repoに追加するファイルをステージする

すでにいらないファイルは全て消してあるので、

git add -A

ですべてのファイル・フォルダをステージしておk。

ローカルレポジトリにコミット

git commit -m "(ここにコミットのコメントを入れる)"

リモートレポジトリにプッシュ

git push (リモートレポジトリの名前、上記の"origin") (ローカルレポジトリの名前、これが上記の明記されていない"master")

この2つのステップは通常のプロジェクトと一緒。

これで初期のrepoが出来上がる。
どこぞにcloneしたい場合は、ほかのプロジェクトと同じ。

git clone (レポジトリのURL)

後はQuartus Primeからプロジェクトを開けばよい。

参考にこちらのDE0-CVで(大げさな)Lチカのrepoを作成した。
元にするプロジェクトはQuartus Prime 18.1で作成。
github.com

MacBook Pro 13" Mid 2017にBoot CampでWindows 10を導入

(20200503改訂版)
f:id:nobu_macsuzuki:20200116205125j:plain
"自己責任"、"「転んでも一人で起きる」"の意味がわからない方は、以下の記載の事柄は適用しないように、お願いいたします。
例によって免責条項を書いておく。


さて、Macを買ったらBoot CampだろうJK - またしても既視感。
こちらもMac部分は素晴らしかった。
まずWindows 10のisoイメージを準備する、今回はいわゆる1909のProを使用した。
これをMacにコピーする。
Bootcampアシスタントを起動する。
すると勝手にISOイメージを見つけやがる。
Windows側に割り当てるストレージのサイズを決める。
おしまい。


あとはMacWindows用のファイルシステムを作り、さらにその中にWindowsインストール用の仮想ドライブを作る。
もう以前のように、右側のUSBにSuper Driveを付け左側にメモリを挿してとか、これ以外はbad endとかなし。
Bootcampアシスタントが終わると、この仮想ドライブから起動し、Windowsのイメージをリカバリエリアも込みで作成する。
Windowsインストーラは普通のPCと同様。


ただここからがちょっと引っかかった。
Windowsのインストールが終わり、ユーザ設定が始まった段階ではWindows用のドライバが全く入っていないのだ。
グラフィクス、オーディオ、ネットワークなど何も入っていない。
キーボードとトラックパッドがかろうじて使える状態だ。
最近のWindowsの初期設定では、day 0更新やMicrosoftアカウントの設定などがあるので、これではできない。
あわてない、あわてない、こんな時のための日ごろのガジェット活動。
筆者は幸いイーサーネットアダプター付きのUSB-Cハブを所有している。
これでネットにつないで・・・しめしめ、day 0更新を始めて、Microsoftアカウントの設定もできたぞ。
これが終わると、Bootcampドライバーが入って、再起動してと・・・あれ?オーディオドライバーが入らない。
Cirrusのサイトのドライバーなども入れたが、全く音が鳴らない。


種を明かすとday 0更新で入ってくるドライバがCirrusのオーディオCODEDCと競合してしまうようだ。
答えは、ブートキャンプ完了までネットワークに接続しないことだ。
そうすれば、ブートキャンプ用のドライバが先に入り、おかしなことにはならない。
つまりネットワークに接続せず、一時的なローカルアカウントを作ってブートキャンプを終わらせ、後で"設定" -> "アカウント"から"Microsoft アカウントでのサインインに切り替える"を選択すればよい。
この切り替え作業、時々できないことがあるので、その場合は数日待ってやるのが吉。
それと一時アカウントの名前をうまく選べば、C:\user\(自分のログインフォルダー)名が、最初からMicrosoft アカウントで設定したものと同じくできる。


さすればWindowsのday 0アップデートも入れて、一時間ほどですべてが終わる。
筆者は手慣れているので、上記の問題回避がわかるまで、数回こなした、4-5時間かかったよ、orz...
残りは、自分の環境構築で、これはどのPCでも同じだ。
おおよそ1時間ほどでFirefox7-zip、notepad++、Adobe Acrobat Reader、VS CodeMinGW、Git for Windows、そしてQuartus Primeをインストールした。


唯一失敗したのは、Windows用のストレージサイズの割り付け。
最初は80GBを割り当てたのだが、上記のインストール用の仮想ドライブを作るために10GBほど喰われたので、いろいろ入れた後の残りが20GB。
これでは心もとないので、すべてをやり直し、100GBに変更した。
これも含め、正味4回boot campのドライブを作り直したが、まぁOK?

MacBook Pro 2017 13"にお引越し

f:id:nobu_macsuzuki:20200120071109j:plain
いろいろ思うところあって、MacBookを買い替えた。
以前のMacMacBook Air Mid 2013、新しいMacMacBook Pro Mid 2017だ。
ディスプレイは同じ13" 16:10アスペクトのものだが、今度のMacはいわゆるレティナ(大笑)ディスプレイだ。


かつてMacBook Proと言えば、性能優先、ゴツイ、厚い、大きい上等(値段も上等)、嫌なら買うなよ信者、なデザインだった。
2012年モデルまでを見ると、フットプリントがおおよそ33x23cm2、厚さ2cm以上、重さ2kg以上、これをもってジムへ行って上腕筋鍛えろな仕様だ。
筆者のノートPCの目標仕様の箸にも棒にもかからない代物だった。
Airのバカ売れを見るにつけ、Apple様もデザインの方向転換をされ、今回購入したPro Mid 2017に至っては、フットプリントが30x21cm2でほぼA4、厚さは1.5cm、重さは1.4kgと所有していたMacBook Air Mid 2013よりもコンパクトになった。


さて、導入に当たってはPCの設定、アプリのインストール、データの移行が必要だった。
これが、素晴らしかった。
新しいMacを起動して設定を進めていくと、"Transfer Information to This Mac"と現れ、"From Mac"が選択できる。
古いMacを起動して、"移行アシスタント"を開き、"別のMacへ"を選択する。
あとは認証作業があったのちに、ざーっと新しいMacへコピーされる。
ざーっと。
Apple IDに関わるPCの設定は自動、残りはざーっと。
アプリはLogic ProやそのPCM音源データ、3rd Partyのアプリまでざーっと。
個人のデータもざーっと。
終わってログインすると、あたかも前のMacのようにすべてが整っている。
USBオーディオI/Fのドライバも、MIDIの設定もだ。
素晴らしい!