Copyright © 2018-2024 てきーらサンドム
SAMマイコン(MicrochipのArmコアMCU)を、XC32コンパイラと、Pickit4/Snapデバッガで使うサイトです。
ドライバを自動生成してくれるMPLAB Harmony(v3)もリリースされてますが現時点ではUSBドライバの部分にしか使用してないです。まぁ、XC32もローエンドまでカバーできるようになり(v2.30〜)、Pickit4/Snapも大多数のSAM製品に正式対応(v5.35〜)となりましたので、ぼちぼち本腰を入れてやろうかなって感じです。
PIC32C(ArmコアのPIC32)も今後取り上げていこうと思います(2023/2/7追記)。
ともかくSAMファミリと開発ツールについて、注意点、使いこなしのポイント、落とし穴、裏技、雑学などを順次掲載します。
注:レジスタ設定を古いxc.hの定義(bit構造体定義)で説明している部分が残っています。この表記はデータシート表記に近いですが、新しいxc.くを使ったコーディングの表記とは異なりますのでご注意ください(【SFR名によるアクセス】参照)。
最近の更新(以前の更新)
2024/05/28 【コンパイラ対応状況】を更新
2024/03/15 【デバッガ対応状況】を更新
2023/11/23 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2023/08/17 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2023/07/23 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2023/02/01 全般(SAMx7x):【端子一覧(144pin)】を追加
Pin/ROM→ | 8KB〜16KB | 16KB〜256KB | 256KB〜1MB | ウルトラ低電力 | 高性能 | |||||
---|---|---|---|---|---|---|---|---|---|---|
14/20/24pin | D09 汎用、ローエンド D10 汎用、基本機能 D11 汎用、基本+USB |
− | − | 24/32pin OPamp有 |
L10 基本機能 L11 保護機能強化 (16/32/64KB) |
一般向け |
車載向け (MediaLB対応) |
|||
32pin | − | D20 汎用、基本機能 D21 汎用、基本+USB C20 5V可、基本機能 C21 5V可、基本+CAN |
− | 32/48/ 64pin OPamp有 |
L21 M0拡張機能 +USB (32〜256KB) |
M7拡張機能 | S70 64/100/144pin (512KB〜2MB) |
V70 64/100/144pin (512KB〜2MB) |
||
48/64pin | − | D51 拡張機能 E51 拡張+CAN E53 拡張+イーサ E54 拡張+CAN+イーサ |
||||||||
100pin | − | C20 5V可、基本機能 C21 5V可、基本+CAN |
48/64/ 100pin OPamp無し |
L22 M0拡張機能 +USB+LCD (64/128/256KB) |
M7拡張機能 +CAN +イーサ |
E70 64/100/144pin (512KB〜2MB) |
V71 64/100/144pin (512KB〜2MB) |
|||
128pin | − | − |
以前の更新
2023/01/29 資料室:SAMD5x/E5x, SAME70-V71, XIDE日本語ユーザーズガイドのリンク更新
2022/12/28 【コンパイラ対応状況】を更新
2022/11/07 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2022/05/30 【コンパイラ対応状況】を更新
2022/05/20 【I2C】を更新
2022/01/16 【デバッガ対応状況】を更新
2021/12/19 【コンパイラ対応状況】を更新
2021/12/18 資料室:Snap, PICkit4 ユーザーズガイドのリンク更新
2021/12/16 回路例、注意点【SAMC21-can実験ボード(5版)】基板図を追加
2021/12/12 【コンパイラ対応状況】を更新
2021/07/16 周辺機能(SAMC2x, SAMD21)の【ADC】を更新
2021/07/15 【コンパイラ対応状況】を更新
2021/05/25 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2021/02/16 回路例、注意点【SAMC21-can実験ボード(5版)】回路図を追加
2021/02/01 【X IDE備忘録】の漢字コード設定を更新
2021/01/27 Harmony v3 【隠れポートを表示させる方法】を追加
2020/11/06 【デバッガ対応状況】を更新。
2020/10/25 SAMD5x/SAME5xの【発振回路】,【クロック生成】および【UART】,【基本タイマ】を更新
2020/10/14 SAMD5x/SAME5xの【端子一覧(48-128pin)】を更新
2020/10/10 SAMD5x/SAME5xの【端子一覧(48-128pin)】,【発振回路】,【クロック生成】,【フラッシュ】,【メモリマップ】,【システムタイマ】,【多重割込み制御】を追加
2020/08/13 周辺機能(SAMD21)に【I2C】を追加
2020/08/10 【コンフィグレーション】を更新、【USBドライバをHarmonyから移植】を追加
2020/07/23 周辺機能(SAMD21):GCLKのクロック供給先を修正
2020/07/18 ハードウエアに周辺機能(SAMD21)を追加、コア(Cortex-M0+)にSAMD21の内容も反映
2020/07/15 全般(SAMC2x,D2x)に【端子一覧(SAMC2x, 32-64pin)】,【端子一覧(SAMD21, 32-64pin)】を追加
2020/06/14 【コンパイラ対応状況】日本語文字列リテラルに関して追記
2020/06/02 トピックスに【開発ボードの販売について】を追加
2020/05/20 【デバッガ対応状況】、【コンパイラ対応状況】を更新
2020/03/07 【デバッガ対応状況】を更新
2020/02/29 【コンパイラ対応状況】、【SAMC21_can4テストプログラム】を更新
2020/02/24 評価プログラムに【SAMC21_can4テストプログラム】を追加
2020/02/12 【SAMC20/C21ベース回路(64pin)】にグラフィックLCD拡張基板の回路図を追加
2020/02/04 周辺機能(SAMC2x)に【CAN】を追加
2020/01/26 【データフラッシュ】を更新、【データフラッシュ(L1x)】を追加
2020/01/12 周辺機能(SAMC2x)に【データフラッシュ】を追加
2020/01/06 全般(SAMC2x,D2x)に【端子一覧(100pin)】を追加
2019/12/31 【X IDE備忘録】を更新
2019/12/23 【発振回路】,【SAMC20/21ベース回路(64pin)】,【初期化、共通設定】を更新
2019/12/21 【SFR名(レジスタ名)によるアクセス】,【CPU制御関数】を更新
2019/12/18 資料室にXC32コンパイラ ユーザーズガイド(PIC32C/SAM用)を追加。
2019/12/09 【消費電流(L1x)】,【発振回路(L1x)】,【クロック生成 GCLK(L1x)】,【フラッシュ(L1x)】,【メモリマップ(L1x)】,【多重割込み制御(L1x)】を追加。
2019/12/09 【品種構成】ウルトラ低電力品と高性能品を追加。
2019/12/09 【SFR名(レジスタ名)によるアクセス】を更新
2019/11/16 SAMD09〜D11,L10/L11の機能比較、端子比較を追加。
2019/11/12 資料室にSAMD09のデータシート追加。
2019/11/12 【品種構成】D09を追加。
2019/11/10 【デバッガ対応状況】,【コンパイラ対応状況】を更新。
2019/08/14 【UART】にレジスタ設定例を追加。
2019/08/14 【デバッガ対応状況】,【コンパイラ対応状況】,【標準入出力ライブラリ】を更新。
2019/08/05 ・コンパイラ【CPU制御関数】を追加。
2019/07/28 【SAMC20/C21ベース回路(64pin)】回路図、基板図を更新。
2019/07/22 【プログラム基本構成】,【初期化、共通設定】,【ポートの設定】,【各周辺の設定手順概要】を追加。
2019/07/16 【X IDE備忘録】、【デバッガ(PICkit4, Snap)対応状況】を更新。
2019/07/14 【標準入出力ライブラリ】を更新。
2019/07/10 【標準入出力ライブラリ】を更新。
2019/06/30 【スタートアップ】、【標準入出力ライブラリ】を追加。
2019/06/30 【SAMC20/C21ベース回路(64pin)】回路図の32kHz発振回路定数変更。
2019/06/24 【SFR名(レジスタ名)によるアクセス】を更新。
2019/06/09 【割込フラグの立ち方】を追加。
2019/06/09 【クロック生成(GCLK)】に”レジスタ・アクセスの同期化処理”を追加。
2019/06/09 【SFR名(レジスタ名)によるアクセス】を更新。
2019/05/06 【SAMC20/C21ベース回路(64pin)】基板図、【デバッガ対応状況】を更新、【INTFLAGレジスタのbit構造体がリード・オンリ属性】を追加。
2019/05/01 【発振回路】、【クロック生成(GCLK)】、【デバッガ対応状況】を更新。
2019/04/28 【クロック生成】更新、【SAMC20/C21ベース回路(64pin)】32k発振関係更新。
2019/04/27 【SAMC20/C21ベース回路(64pin)】回路図、基板図を更新。
2019/04/21 【フラッシュ】,【コンフィグレーション】,【X IDE備忘録】,【SFR名(レジスタ名)によるアクセス】を追加。
2019/04/15 【機能比較(100pin)】,【端子比較(100pin)】,【32k発振端子に注意】(SAMD5x,E5x用)を追加。
2019/04/15 【端子比較(64pin)】を修正。
2019/04/07 【SAMC20/C21ベース回路(64pin)】に評価ボード基板図追加。
2019/03/30 【SAMC20/C21ベース回路(64pin)】に評価ボード回路図追加。
2019/03/24 【PICkit4(デバッガ)対応状況】,【XC32(コンパイラ)対応状況】を追加。
2019/03/24 資料室に開発ツール関係資料を追加。
2019/03/22 【多重割込み制御】を更新。
2019/03/10 【メモリ・アクセス】【システム・タイマ】【多重割込み制御】を追加。
2019/03/05 【発振回路】【クロック生成】【UART】【基本タイマ】【制御向きタイマ】を追加。
2019/02/24 【SAMC21ベース回路(64pin)】を追加。
2019/01/11 【端子比較(64pin)】を更新。
2018/12/25 【SAMC20ベース回路(64pin)】を追加。
2018/12/25 【端子比較(64pin)】を更新。
2018/12/16 【デジタル電源に配置されたアナログ入力端子に注意】を追加。
2018/12/16 【端子比較(64pin)】を更新。
2018/11/15 【PICkit4(デバッガ)とSAMマイコンの接続】を追加。
2018/11/04 ページ枠を新設。