MSP430 / Introduction CCS IDE
初めに
CCS IDE 導入
プログラム作成のトライアル
追加情報
変更履歴
2011年5月2日 FreeRTOS関連更新
2011年1月4,5日 追加(MSP-FET430UIF関連)
2011年1月1日 新規作成開始
MSP430に関してはここからスタートしてください
2006年(?)にTexas Instrumentsが主催するセミナー(確か秋葉原の会場)に参加した際に、
左記の評価ボート(MSP-EXP430FG4618)をいただきました。
その頃は、簡単な動作をさせただけでしたが、今回再登場させました。
尚、私がいただいた基板には、RAM容量が少ないMSP340FG4619が載っています。
FLASH(120KB)は充分でもRAM(4KB)が心配です。
左の白いボックスは、年末(12月29日)にDigi-Keyに注文していた、MSP-FET430UIFです。
本日(1月4日朝)受取り、Debugを始めています。
年末年始の航空便が忙しいと思われる時期に、早い到着で驚いています。
ここに、作業内容を記します。CCS(Code Composer Studio)起動画面 FreeRTOSの開発事例
コンパイルエラーは無くなったが、未だ実機確認出来ず出来ずOlimex MSP430-169LCD Olimex MSP430-449STK2 2006年当時にMSP430関連で(一人で)盛り上がっていたころに、OlimexにPCB製作依頼と並行して購入した基板が、
その後何もせずに放置したまま残っていました
今回、Web上で無線関連の記事を見て奮起、再びDDS-VFO作成を決意したところです(どうなる事やら)
初めに
<何故また>
2010年は、PIC24を始めてGPSロガーに熱中し、その後LPC1768に乗り換えてmbedやLPCXpressoを中心に楽しんできましたが、暮れに無線関連のWebを尋ねたところ、再びDDS-VFOを製作することを決意するに至りました。
DDS-VFOは、以前にここでいくつかの製作事例を紹介しています。
VFO
QRPトランシーバー
ネットワークアナライザー
2007年に下記の様なDDS-VFOを計画し、実は部品も一部購入していたのですが、当時は仕事の関係もあり途中で中断してしまいました。
回路図 PCBレイアウト
基本コンセプトは、低消費電力タイプのハンディーQRP機に使えるようにと検討したものです。
DDSはいつもAD9851(555mW@180MHz)が中心でしたが、結構大食いだったのでAD9834(20mW@3V)に変更して回路設計しました。
さて再開するに際しては、CPU選定が一番の悩みです。
昨年からの流れでLPC1768が妥当なところですが、もう一度MSP430に戻ろうと思います。
今更、MSP430に戻るのは大変だと覚悟しています。大きな難点は、RAMサイズです。
あまりにも制限が多く、値段と性能のバランスを見るとLPC1768を含めARMが良いことは疑いありません。
MSP430上でもCPUによっては、FreeRTOSも動くでしょうが、FreeRTOSを動かすだけでかなりのRAMを消費して、本末転倒の感があります。
しかし、低消費電力の魅力は絶大で、何とかこのCPUの利点を最大限、活かしたいと思いました。
以前の活動は、下記にあります。
MSP430 / eZ430-F2013
Sample_0 Project
Sample_1 Project
<開発環境>
再開するにあたり、ソフトウェア開発環境をどう構築するかが最初のポイントでした。
考えたのは、下記です(無償の開発環境が前提なもので)。
開発環境名 提供者 入手先 コメント 参考としたWeb CCS Texas Instruments TI Code Composer Studio IDE Eclipseをベースにした開発環境
16KBのコード制限ありROINOSを参考にさせていただきました IAR-KICKSTART Texas Instruments IAR Embedded Workbench Kickstart 4KBのコード制限あり MSP GCC GCC SourceForge 制限なし
GCCはプログラムサイズが大きくなった場合の選択肢として、先ずはTI提供のCCSを使ってみようと考えました。
何しろ、[FLASH 1KB RAM 128B]なんてCPUもファミリー内にあるので、アッセンブラも辞さない覚悟が必要です。
既に、C言語でやりたいことを越えてしまいこのCPUの難しさを経験しています。
JTAGアダプタを用意する必要がありそうで、色々と物色したのですが、最終的にはTI純正のものを使用することにして、Digi-Keyに発注しました。
以前は、MSP430F2013を使用していた為に、開発環境が大きく異なっていましたので、MSP430でJTAGを使用するのは今回初めてとなる。
<コミュニティ>
Webで色々と調べている最中に、"TI E2E Comunity / MSP430 16-bit Ultra-Low Power MCUs"のサポートフォーラムに辿りつつ来ました。
困った時には覗いて見るつもりです。
先ずは、このコメントが重要でしょう。
日本語では、このページがMSP430の入り口です。
CCS IDE 導入
<ソフトウェアの入手とインストール>
順序 作業 アクセス場所等 画像 コメント 1 ダウンロード CCS-FREEの入手先 残念ですが、
16KBのサイズ制限があります
2 上記
ダウンロード
ボタンを
操作. 3 ダウンロード
前に登録
しないと
いけません色々と記入しないといけない部分が
ありますが、記入しないとダウンロード
出来ません
E-mailで情報確認のプロセスが
あるかもしれません
メール確認要!4 ダウンロード ZIPファイルは、
380MBとかなり大きなファイルです5 解凍&インストール C:\Program Files\Texas Instruments\ccsv4 私の場合には、
左記のDirectoryにインストールしました
430.22MBに展開されました
順序 作業 ポイント コメント 2011年5月1日
下記内容は古い情報となりました。
V7.0.0をMSP430へ移植することが出来ました。
新しい内容は、こちらを参照ください。1 ソフトウェアの入手 FreeRTOSのWebサイトから最新版のV6.1.0を入手 CPU依存部も含め全てが
1つのZIPファイルになっています2 ソフトウェアの分離 MSP430用のソフトウェアを分離します
結果としてCCS IDEを使用する場合には、下記Dir内のファイル利用
①FreeRTOSV6.1.0\Demo\msp430_IAR
②FreeRTOSV6.1.0\Source\portable\IAR
その他のファイルに関しては、下記のDir参照のこと
CCSは、最初にGCCをベースに
していると思ってファイルの選択を
したのですが、上手くいきませんでした
この場所にある、
[Code Composer Studio™ v4.2
User's Guide for MSP430™ User's
Guide]
P27 Appendix Bに、
Source code for the TI CCS C
compiler and source code for
the IAR Embedded Workbench
compiler are not fully compatible.
とあり、IARと(フルではないが)
コンパチ部分があると書かれている
この記述から、CCSのコンパイラーは
IAR製でFreeRTOSはIAR用ソース
ファイルが使用出来ると予想した
予想は当っていたが、アッセンブラ
ソースは全く互換性なしで、修正要
(下記参照)3 CCS IDE環境設定 Header FileのPath設定をしてからコンパイルしないと、エラーが多発します
設定は、ここを参照してください
この画面は、[Project]->[Property]で表示されますファイルの修正前に必ず実行のこと 4 プログラム修正 修正が必要なファイルは、全部で9ファイル
その中で、下記のように分類出来る
①サンプルと違うCPU設定に伴いReg等の設定が違うファイル群②アプリケーション別に変更が必要となるファイル群
- main.c
- ParTest.c
- serial.c
③不要な部分でエラー発生を抑えるため
- FreeRTOSConfig.h
- FreeRTOS.h
④アッセンブラ記述のファイルで、作り直しをしたファイル群
- IntQueue.c
(IARアッセンブラとCCSアッセンブラの互換性なし)⑤リンクファイル先を明示した為
- serialASM.s43 (portasm.hをInclude出来ずに内部に展開)
- portext.s43 (portasm.hをInclude出来ずに内部に展開)
- portable.h
左記の変更を含め全体ファイルは下記に
①前半
②後半5 一様
コンパイル完了コンパイル結果
(サンプルアプリケーションが殆ど無いので、
ほぼ全ての領域をFreeRTOSでの使用)
CPU: MSP430F47176 (92KB FLASH / 8KB RAM)
RAM: 2768B消費 (約34%消費を既に消費!厳しい現実)
FLASH: 8022B消費
(約8.5%消費、16KBの使用制限から換算すると49%)
<- 上記情報も現時点で少し怪しい状況です。
再度Debug完了まで、情報は削除します。
但し、動作未確認
確認を始めましたが、どうも動いていない様子
Debugを本格的に実施する必要がありそうです
(2011年1月5日時点)
2011年5月1日
こちらを参照ください。
動作し始めました。
<MSP-EXP430FG4618基板とJTAG Debuggerでの開発例(1月4日開始)>
TIのサポートページに、ボード関連情報があり、サンプルソフト(MSP430FG4618/F2013 Experimenter's Board Software (Rev.
A) (zip 4264 KB))も入手できる。
下記プログラムは、CCS IDE上で問題無く動作することを確認した。これで、放置していた基板の動作確認が完了。
プログラム ファイル構成 修正部分 RTC(Real Time Clock) FG4618_RTC.c 無し LCD Board.h
Board.c
LCD.h
LCD.c#include <???>
->
#include "????"
各ファイル内のBoard.h、LCD.hの部分を書き直し
引き続き、このボードにFreeRTOSの移植を実行中(1月4日)です。
本日(1月5日)、Debug作業を実施中。割込み処理後の復帰で上手く動作していない様子。
少し時間がかかりそうです。