最近の記事

Gowin EDAをM2 Macで動かす ver.3

Gowin EDAをM2 Macで動かそうの企画第二弾です。今回はDockerを使っていきたいと思います。Dockerを使うことでGowin EDAをGUIで操作することができるようになりました! 主に使った技術が以下になります。 - Docker - Docker Desktop for Mac - Rosetta 2 - X11 Gowin EDAはLinuxかWindowsでしか動かないので、OSを用意する必要があります。また、アーキテクチャもx86-64でしか動か

    • Gowin EDAをCLIで操作(M2)

      どうにかTang Nano 9KをApple M2チップでも開発したい、、!ということで方法を探した結果、クラウドでx86_64アーキテクチャのマシン上でGowin EDAを使い論理合成、ピンアサイン、配置配線をしてできたfsファイルをローカルにコピーしてきて、openFPGALoaderでFPGAに書き込むということができそうでした。で実際にできました!のでやり方を残しておきます。 ①AWSでx86_64アーキテクチャのLinuxマシンを借りる。 僕はOSはUbuntu、

      • Tang Nano 9Kにmacbook core i3で書き込む

        FPGAを始めてみようと思い立ち、秋葉原に行ってTang Nano 9Kを購入してきました。 Lチカまでにかなりかかったので躓いた点を残しておこうと思います。 ①アーキテクチャの違いによって動かない 初めはM2 MacBook Airで動かそうとしたのですが、M2のCPUアーキテクチャはARMとなります。しかし、IDEに使用したGowin EDAがx86アーキテクチャでしか実行ができなかったのでエミュレータを使用することにしました。ところがエミュレータはとても遅かった、、

        • gitでpush時のエラー

          pushしようとした時にエラーが出たのでその解消法。 When asked password for git, write access token.

        Gowin EDAをM2 Macで動かす ver.3

          M2AirでM5Stack Core2

          M2AirでM5Core2を動かしました。 Arduinoはなんだか色々エラーが出てしまってうまくいかなかったので、以下の記事の通りにPlatformIOでやりました。 USB Driverの追加設定は僕は不要でした。 Sketch uses 429081 bytes (6%) of program storage space. Maximum is 6553600 bytes.Global variables use 25112 bytes (0%) of dynamic

          M2AirでM5Stack Core2

          ChatGPTで本の理解度チェック

          『Linuxのしくみ』を読んだので、その理解度チェックをしてもらいました。 なかなか良かったです。特に質問の答えに対して、部分的な正解を示してくれるのがAIの利点だと思いました。

          ChatGPTで本の理解度チェック

          chatGPTにアプリのLPを作ってもらった

          GPT4が発表されてchatGPTがより話題になってきました。GPT3の頃はまだ個人利用が多かった気がしますが、GPT4になって企業も本格的に利用を始めたり、Microsfot co-pilotやGithub co-pilot、BingなどGPT4を利用したサービスも増えた気がします。 そこでchatGPTにアプリのLPを作ってもらうことにしました。 その際に使用したプロンプトを残しておこうと思います。 完成したものがこちらです。 最初はLPを作って欲しいこと、また紹介する

          chatGPTにアプリのLPを作ってもらった

          サーバーで遊んでみた(立ち上げと交流)

          PythonとかPHPとかでサーバーを立ててcurlとwgetを使ってみたりしました。このYoutubeを見ました。 Pythonでサーバー立てる PHPでサーバー立てる npxでサーバー apache2 curlでアクセス ファイルに保存 ヘッダー wgetでファイルに保存

          サーバーで遊んでみた(立ち上げと交流)

          M2チップでUbuntuを動かす

          M2でUbuntuの仮想化 Ubuntuでサーバーを立てる

          M2チップでUbuntuを動かす

          VScodeのタブ移動を楽にする

          cmd+shift+pでコマンドパレットを開く。 "open keyboard”で検索し、open keyboard shortcut(json)を選択。 keybingidngs.jsonに以下コードを書き込む。 [{ "key": "shift+cmd+[", "command": "workbench.action.previousEditor"},{ "key": "shift+cmd+]", "command": "workbench.action.nextE

          VScodeのタブ移動を楽にする

          ファイルをターミナルからVSCodeで開く方法

          以下記事の通りVSCodeでShellと検索してインストールするだけ。 後は、ターミナル上で開きたいファイル、またはディレクトリを指定してcodeとコマンドを打てば開ける。 https://qiita.com/naru0504/items/c2ed8869ffbf7682cf5c

          ファイルをターミナルからVSCodeで開く方法

          連結リストと配列の違い

          連結リストはアドレスが隣り合っているとは限らない!! 連結リストの次の要素に(現在の要素のポインタ++)でアクセスしようとするとずっとオーバーフローが起きていたのでなんでかなーと思っていたら、連結リストの各要素のアドレスが隣り合っていないことが原因でした!! 今まで配列で次の要素にアクセスする時にポインタのアドレスを一つ動かすことでアクセスできていたので、連結リストもそれでいけると思っていたら違いました。 配列は各要素のアドレスがぎっしり隙間なく並んでいるのに対して、連

          連結リストと配列の違い

          オーバーフローの箇所の特定

          C言語でバッファオーバーフローをしているコードの箇所を知りたい時には、コンパイル時にオプションとしてfsanitize=addressを追加する。 メッセージの読み方は以下の記事を参照。 https://pyopyopyo.hatenablog.com/entry/2019/02/09/101747

          オーバーフローの箇所の特定

          文字列を逆順に並べ替える

          Swiftで文字列を逆順にしたい時はreversed()を使う。 気をつけないといけないのは、reversed()で作られた文字列はReversedCollection<String>みたいな型になること。ただのString型である元の文字列と比較しようとすると、エラーが出るので下記のように一旦String型にキャストする必要がある。

          文字列を逆順に並べ替える

          Swiftの配列操作について(swapAt)

          Swiftの配列操作でswapAtというめちゃくちゃ便利な関数を学んだのでメモしときます!! 今までは例えば配列内の2番目と3番目の要素を入れ替えたい時に 一度2番目の要素の値を何か変数を作ってそこに格納、そして2番目の要素に3番目の要素を移して、3番目の要素に前に2番目の要素を格納しておいた変数の値を移すみたいにもう一つの変数を介して要素の入れ替えをする必要があってめんどくさかったです。 それが、swapAtで入れ替えたい要素のインデックス番号を指定するだけで実現できま

          Swiftの配列操作について(swapAt)

          Swiftの参照引渡しについて

          大学の授業でクイックソートの実装をする必要があって、関数間で値を引き継ぐいい方法を探していたら参照引渡しというものを知ったので残しておきます。 関数を宣言する際に、引数名の前にinoutとつけておいて、呼び出す際に渡すパラメータの前に" & "をつけると参照引渡しとなって関数の中で変数に加えた変更が関数外にも引き継がれるようになるらしいです。 なので関数を宣言する際にinoutをつけて、 そして関数を呼び出す際にパラメータの前に" & "をつけたら 参照引渡しができます

          Swiftの参照引渡しについて