source: ssp_armv6_m_gcc/trunk/lpcxpresso_lpc812_gcc/target_user.txt@ 421

Last change on this file since 421 was 421, checked in by nmir-saito, 4 years ago

Merge branch 'rubycfg' to trunk

  • Property svn:executable set to *
  • Property svn:mime-type set to text/plain; charset=utf-8
File size: 5.4 KB
RevLine 
[86]1=====================================================================
[421]2 LPCXPRESSO-LPC812ターゲット依存部 (ssp-1.3.0対応)
[86]3 Last Modified: '15/05/22
4=====================================================================
5
[421]6○概要
[86]7
[421]8LPCXPRESSO-LPC812ターゲット依存部は,プロセッサにLPC812(Cortex-M0+)を搭載した,
9LPCXpresso LPC812ボードをサポートしている.
[86]10
11
[421]12○カーネルの使用リソース
[86]13
[421]14カーネルは以下のリソースを使用する.
[86]15
[421]16 ・ROM
17 コードを配置する.
18 使用量は使用するAPIの数に依存する.
[86]19
[421]20 ・RAM
21 データを配置する.
22 使用量はオブジェクト数に依存する.
[86]23
[421]24 ・SysTick
25 カーネル内部のティックの生成に用いる.
[86]26
[421]27 ・Universal Synchronous Asynchronous Receiver Transmitter(USART)ポート0
28 コンソールの出力に使用.
[86]29
30
[421]31○他のターゲットへの移植
[86]32
[421]33LPCXPRESSO-LPC812ターゲット依存部で使用するシリアルは,LPC812の内蔵機能のみを使用するため,
34LPC800系のCotex-M0+を用いた環境には容易にポーティングが可能である.
35ポーティングに関しては,以下の初期化ルーチンにターゲット毎の初期化を追加すればよい.
[86]36
[421]37 ・target_initialize() : target_config.c
38 ターゲット依存部の初期化(C言語)
39 ・_hardware_init_hook : target_support.S
40 低レベルのターゲット依存の初期化
41 スタートアップモジュールの中で,メモリの初期化の前に呼び出される
[86]42
43
[421]44○デバッグ環境
[86]45
[421]46デバッグ環境としては,LPCXpresso LPC812に搭載されるSWDデバッガおよび
47開発およびデバッグの環境として LPCXpresso IDE の使用を前提とする.
[86]48
[421]49LPCXpresso IDEについては、以下のサイトを参照
[86]50 http://www.lpcware.com/lpcxpresso/home
51
52
[421]53○コンパイラ
[86]54
[421]55GCC で動作確認を行った.GCC は,LPCXpresso IDEに同梱されているものを利用した.
56動作確認に使用したツールのバージョンは以下のとおり.
57 ・GCC 4.9.3(LPCXpresso IDE 7.7.2)
[86]58
[421]59GCC については,同等のツールが以下のサイトからも入手することが可能である.
[86]60https://launchpad.net/gcc-arm-embedded/
61
[421]62○割込み優先度
[86]63
[421]64割込み優先度として指定可能な範囲は,-3 〜 -1 である.
[86]65
[421]66○コンソール出力
[86]67
[421]68コンソール出力には,USART0を用いる.LPCXPRESSO-LPC812はRS232Cポートを
69搭載していないため,ユニバーサル基板などを用いて当該ポートをPCに接続する
70必要がある.その際,RS-232Cドライバを介する必要がある点も注意すること.
71USART0の送信/受信ピンはSWMの機能により自由に設定が可能であるが,
72既定ではP0_0(RXD), P0_4(TXD) に設定されている.
[86]73
[421]74通信フォーマットは以下の通りである.
[86]75
[421]76 ・19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
[86]77
[421]78○アドレスマッピング
[86]79
[421]80 0x00000000 - 0x00003FFF 内蔵FlashROM 16KB
81               ・vectorセクション
82               ・textセクション
83               ・rodataセクション
84 0x10000000 - 0x10000FFF 内蔵RAM 4KB
85               ・dataセクション
86               ・bssセクション
[86]87
[421]88○各種設定の変更
[86]89
[421]90幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目
91は次のようになっている.
[86]92
[421]93●Makefile.target の設定項目
[86]94
[421]95・GCC_TARGET
96 GCCの suffix を定義
[86]97
[421]98・TEXT_START_ADDRESS/DATA_START_ADDRESS
99 テキストセクション,データセクションの開始アドレス
[86]100
[421]101・INCLUDES
102 インクルード指定
[86]103
[421]104・COPTS
105 Cコンパイラへのオプション
[86]106
[421]107・LDFLAGS
108 リンカへのオプション
[86]109
[421]110・USE_CMSIS
111 CMSISを利用する場合,trueに設定する.
112 デバイス定義ファイルLPC8xx.h を include してデバイスレジスタ定義を利用することが可能となる.
113 そのためには,インクルードファイルのサーチディレクトリとして LPC8xx.h の存在するファイルのパスを
114 CMSIS_INCLUDE_PATHに指定する (もしくは,LPCXpresso IDE でサーチパスの設定をしても良い)
[86]115
[421]116 また,ライブラリファイル(libCMSIS_CORE_LPC8xx.a)の利用は想定していない.
117 少なくともsystem_LPC8xx.c の SystemInit に相当する処理(クロック設定)については
118 SSPのシステム起動時に実施しており,基本的に呼び出す必要はない.
119 ※ WDTの初期設定はおこなっていないため,必要ならば初期化が必要である.
[86]120
[421]121・USE_MTB
122 LPC800シリーズに搭載されているMTB(Micro Trace Buffer)を利用する場合,trueに設定する
123 その場合,バッファのサイズを MTB_BUF_SIZE に,バイト単位で設定する
[86]124
[421]125●target_config.h の設定項目
[86]126
[421]127・DEFAULT_ISTKSZ
128 デフォルトの非タスクコンテキスト用のスタックサイズ
[86]129
[421]130・SIL_DLY_TIM1/2 (現時点では未検証)
131 微少時間待ちのための定義
[86]132
[421]133●target_syssvc.h の設定項目
[86]134
[421]135・UART_BAUDRATE
136 コンソールに使用するポート(USART0)のボーレート
[86]137
138
[421]139○変更履歴
140・2015/05/21
141 ・ssp-1.3.0対応
[86]142
[421]143 ・2013/06/19
144  新規作成
Note: See TracBrowser for help on using the repository browser.