これらはBOARD_BootClockPLL150M関数の中だったりUSBを利用するときに呼ばれているのを見る。マイコン向けの開発環境を作る主に自分の備忘録&同じ環境を作って欲しい人向けの記事です。BuilderによってIDE向けのプロジェクトファイルを作成して利用することができます。Embeddedという選択肢もあります。Xpressoなしで開発をすることができます。今回は下のくにゅくにゅ氏の記事をベースに、NXP製マイコン向けの開発環境を作る手順をまとめます。Developerインストール先はなるべくスペースとか入らないような場所にする。C:\tools\gcc-arm-none-eabi-9-2019-q4-majorとかにする。GitHub適当な場所に展開しておきます。自分は以下のようなフォルダ構成になるよう設置しました。Driverhttps://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPackこれはデバッグインターフェースにJLinkを使用する場合は必要です。インストール後の作業などまずはVSCode自体が必要です。これをインストールし、さらに氏の記事にもあるように、VScode上でC/C++拡張とCortex-Debugの拡張機能をインストールします。Toolsをインストールします。CMakeをVSCodeから利用するための拡張機能は複数ありますが、Microsoftが出しているものを利用してください。Marketplacemsys2はMake自体を走らせるために必要です。makeなどでインストールします。msys2にmakeをインストールしたので、Windows側でPATHを通します。環境変数MSYS2_PATH_TYPEを作成し値にinheritを指定しておきます。上の設定VSCodeにインストールした拡張機能を使う上での設定をいくつか行う必要があります。VSCode本体や拡張機能の設定を行うためのsettings.jsonと、デバッガ起動のためのlaunch.jsonの二つを設定する必要があります。setting.json以下に示すコードはターミナルとしてMSYS2のbashを利用するための設定も含んでいます。"C:\\tools\\SEGGER\\JLink_V660c\\JLinkGDBServerCL.exe"}上記の設定で特に重要なのはCMakeまわりです。Makefilesを指定しています。Builderで吐き出されたSDKの中のarmgcc.cmakeを指定してください。このときは相対パスで記述していますが、絶対パスでも問題無いはずです。最後にcortex-debugでJLinkを使用する場合の設定を加えています。このときJLinkのGDBサーバーを起動するために実行ファイルまでのフルパスを記述する必要があります。]}上記のJSONファイルには、デフォルトのオンボードLPC-LinkをCMSIS-DAP経由で利用する場合の設定と、JLink経由で利用する方法の二つを書いています。利用するdeviceに併せて変更してください。ここのcfgファイルはOpenOCDのディレクトリ下にあるscriptsディレクトリの中に格納されています。指定しないでください。これはNXPの単体デバッガーであるLPC-Link2に使われているLPC4370用のファームウェアを書き換えるためのものです。おわりにそのほか、IntelliSenseまわりの設定はほかのサイトを参考にしてほしいです。自分でもよく分かってないです。誤記など見つけましたら教えて貰えると助かります。Studio向けに拡張が入る。OpenCL関係のHeaderとテンプレートがある。そもそもベンダーを横断して使えるものだからコレで問題無いはず。Forumのスレッドを読むとなんとなくわかる。Adrenalinとかのグラフィックスのドライバ)によって有効になっている。Header自体はよそから取ってきてねって感じみたい。Headerは以下のリポジトリにある。github.comHeader自体はKhronosのサイトからもダウンロードできたりする。AMDもHeaderを配っている。APP自体にふくまれていたが、すでにダウンロードできない。Heade単体は以下のリポジトリのReleaseから取得できる。github.comいろんなところでAPPを廃止して分かりにくくしたAMDへの批判を見ることができる。LinuxではROCmを使おうよく調べたわけではないけども、コンパイラー含むHPCのためのプラットフォームとかなんとか。Linuxでしか動かないようなので、今回はスルー。rocm.github.io気が向いたら追記する。Radeon向けOpenCLの開発環境構築のためのメモ書きTweet広告を非表示にするもっと読むコメントを書く2018-01-20gcc-arm-none-eabiで変数を指定したセクションに配置するLPC54102を使用していて躓いたのでメモ。Cortex-M系のMCUを積んだマイコンなら同様にできると思う。attribute((section("name")))の使い方について。attribute((section("SRAM1")))のように指定してもなにも変化がない。ここのnameに入れるべきは、以下のリンカスクリプトにある.data.$RAM2という文字列である。記述されている箇所は、最初のアスタリスクですべてのオブジェクトファイルを対象にしている。二つ目のアスタリスクはセクション名のワイルドカード?軽く調べてもあまり分かりやすい説明がなかった。