⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tms320c54x.txt

📁 嵌入式系统开发 TOPPERS and JSP Kernel Release 1.3 TOPPERS = Toyohashi Open Platform for Embedded Real-Tim
💻 TXT
字号:
	    ♂ TOPPERS/JSPカ〖ネル ユ〖ザズマニュアル ♂                ∈TMS320C5402 タ〖ゲット巴赂婶∷            ∈Release 1.3滦炳·呵姜构糠: 12-Apr-2002∷------------------------------------------------------------------------  TOPPERS/JSP Kernel     Toyohashi Open Platform for Embedded Real-Time Systems/     Just Standard Profile Kernel Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory                             Toyohashi Univ. of Technology, JAPAN 惧淡螟侯涪荚は·Free Software Foundation によって给山されている  GNU General Public License の Version 2 に淡揭されている掘凤か·笆 布の掘凤のいずれかを塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· 网脱と钙ぶ∷することを痰浸で钓满するˉ (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯     涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖     スコ〖ド面に崔まれていることˉ (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ     ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱     に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩·     この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥     み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ   (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯       涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ   (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する       ことˉ (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄     巢からも·惧淡螟侯涪荚を倘勒することˉ 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい かなる禄巢に簇しても·その勒扦を砷わないˉ @(#) $Id: tms320c54x.txt,v 1.6 2002/04/14 14:54:10 reiji Exp $------------------------------------------------------------------------1ˉC54x タ〖ゲット巴赂婶の车妥1.1 タ〖ゲットシステムと倡券茨董TMS320C54x DSP のタ〖ゲットシステムとしては·TMS320VC5402 DSP を烹很したTEXAS INSTRUMENTS澜の TMS320VC5402 DSP スタ〖タˇキット(DSK) をサポ〖トしているˉ倡券茨董には·DSKにバンドルされている琵圭倡券茨董 Code Composer Studio 2.0 (CCS 2.0) を脱い·オブジェクトファイルフォ〖マットは COFF となっているˉ1.2 サポ〖トする怠墙の车妥TMS320VC5402 の巴赂の怠墙として·拉墙删擦脱システム箕癸徊救怠墙(vxget_tim)をサポ〖トしているˉ充哈みの敦贿と钓材(dis_int, ena_int)はサポ〖トしていないˉ1.3 戮のタ〖ゲットへのポ〖ティング附バ〖ジョンでは·TMS320C54x をサポ〖トしているˉ1.5 シリアルポ〖トDSKボ〖ドに烹很されているシリアルポ〖トは·カ〖ネルのログ叫蜗脱に蝗脱するˉシリアルポ〖トの肋年は·デ〖タ : 8bit·Parity : none·Stop   : 1bit であるˉ                          カ〖ネルログ脱ˇTMS320VC5402 DSK        COM : 1152000bps1.6 ファ〖コ〖ルについてファ〖コ〖ルについては·附哼はサポ〖トしていないˉそのため·ディスパッチ·充哈み掐り庚借妄において·橙磨プログラムカウンタ(XPC)の瘦赂·锣闰は乖っていないˉ2ˉTMS320VC5402 DSP 巴赂婶の怠墙この棱では·カ〖ネルおよびシステムサ〖ビスの怠墙の面で·TMS320VC5402 DSP 巴赂の婶尸について豺棱するˉ2.1 デ〖タ房TMS320C54x では·16ビット·32ビット 墓のデ〖タ房をサポ〖トしているˉint房および char房·short房のサイズは 16ビットであるˉlong房は 32ビットであるˉ8ビット のデ〖タ房がないため B, UB, VB が 16ビットになっており·庙罢が涩妥であるˉ2.2 オフセットファイルの栏喇アセンブリ咐胳で淡揭されるプログラムから·C咐胳の菇陇挛にアクセスする眷圭に涩妥となるオフセット猛をファイルに叫蜗するために·JSPカ〖ネルでは·genoffset を脱罢しているˉしかしながら·TMS320C54x では genoffset を蝗脱することができないため·TCB 面のタスクコンテキストブロック∈tskctxb∷に崔まれる pc 第び sp フィ〖ルドのオフセット猛は盖年となっているˉそのため·TCB 面のビットフィ〖ルドやデ〖タ房に饯赖を裁える眷圭· pc 第び sp のオフセット猛に庙罢が涩妥であるˉこれは·2.1 デ〖タ房 の棱汤矢と驶せて雇胃するˉ2.3 充哈み瓷妄怠墙と充哈みハンドラカ〖ネル瓷妄嘲の充哈みとしては· NMI があるˉよって·CPUロック觉轮や介袋步ル〖チン柒では·NMI笆嘲の充哈みはすべて敦贿されているˉ恶挛弄には·ST1(ステ〖タスレジスタ1)のマスカブル充哈み敦贿ビット(INTM : bit 11)が 1 に肋年されるˉDEF_INH で回年する充哈みハンドラ戎规(inhno)は·C5402 では·充哈みベクタポインタ(IPTR)からの称充哈みベクタのオフセット猛を宝に2ビットシフト(4で近换)した猛であるˉデ〖タ房(INHNO)は unsigned int房に年盗されているˉ2.4 CPU毋嘲瓷妄怠墙とCPU毋嘲ハンドラTMS320C54x DSPにはCPU毋嘲がないˉ2.5 スタ〖トアップモジュ〖ルC5402 DSP 巴赂のスタ〖トアップモジュ〖ル(start.S)では·肌の介袋步借妄を乖うˉ(A) ステ〖タスレジスタの介袋步とスタックポインタの介袋步呵介に·マスカブル充哈みの敦贿するˉ肌に·木儡アドレッシングにスタックポインタ(SP)を脱いるコンパイラ高垂モ〖ドに肋年し·Cプログラムをサポ〖トするˉ肌に·スタックポインタを STACKTOP に肋年するˉここで充哈みスタックポインタに肋年されたスタック挝拌は·カ〖ネル弹瓢稿は润タスクコンテキスト脱のスタック挝拌として蝗われるˉSTACKTOP は·sys_surpport.S 婶で年盗することを年盗しているˉ(B) hardware_init_hook の钙叫しhardware_init_hook が 0 でない眷圭には·hardware_init_hook を钙び叫すˉhardware_init_hook は·カ〖ネルが弹瓢される涟に乖う涩妥があるタ〖ゲット巴赂の介袋步を乖うために脱罢しているˉhardware_init_hook がどこでも年盗されていない眷圭·リンカでこのシンボルを 0 に年盗する(リンカコマンドファイル c5402dsk.cmd 柒に淡揭あり)ˉ(C) bssセクションと cinitセクションの介袋步bssセクションをゼロクリアするˉまた·dataセクションを介袋步(D) software_init_hook の钙叫しsoftware_init_hook が 0 でない眷圭には·software_init_hook を钙び叫すˉsoftware_init_hook は·カ〖ネルが弹瓢される涟に乖う涩妥があるソフトウェア茨董(恶挛弄には·ライブラリ)巴赂の介袋步を乖うために脱罢しているˉsoftware_init_hook がどこでも年盗されていない眷圭·リンカでこのシンボルを 0 に年盗する(リンカコマンドファイル柒に淡揭あり)ˉ(E) カ〖ネルの弹瓢kernel_start へ尸呆し·カ〖ネルを弹瓢するˉkernel_start からリタ〖ンしてくることは鳞年していないˉ3ˉシステム巴赂婶の怠墙3.1 システムクロックドライバシステムクロックドライバが isig_tim を钙び叫す件袋は·sys_defs.h 面 の TIC_NUME と TIC_DENO で年盗されている(筛洁は 1 ミリ擅件袋)ˉこの年盗を恃构することで·isig_tim を钙び叫す件袋を恃构することができるˉただし·タイマの篮刨が 1μ擅であるため·1μ擅帽疤で眉眶になる猛を肋年した眷圭には·isig_tim の钙叫し件袋に疙汗が栏じることになるˉ3.2 拉墙删擦脱システム箕癸徊救怠墙TMS320VC5402 DSP 巴赂婶では·拉墙删擦脱システム箕癸徊救怠墙(vxget_tim)をサポ〖トしているˉ拉墙删擦脱システム箕癸の篮刨は·1μ擅帽疤であるˉなお·SYSUTIM房は UW房(32ビットの射规痰し腊眶房)に年盗しているˉ3.3 シリアルインタフェ〖スドライバTMS320VC5402 DSK シリアルインタフェ〖スドライバは·DSK ボ〖ド惧の TL16C550CFN のUARTをサポ〖トしているˉ3.4 メモリマップˇC5402 DSK巴赂婶では·コ〖ド挝拌を 0x4000 × 0xFFFF 腆96KB·デ〖タ挝拌を 0x0080 × 0x3FFF 腆32KB·润タスクコンテキスト脱のスタック挝拌を × 0x3FFF に澄瘦しているˉコ〖ド挝拌の 0xFF80 × 0xFFFF は·充哈みベクタテ〖ブル挝拌として蝗脱しているˉまた·0x0060 × 0x007F をスクラッチパッド挝拌として澄瘦しているˉスクラッチパッド挝拌では·メモリ マップド レジスタ アドレッシング を蝗脱することができるˉ4ˉ倡券茨董の菇蜜倡券茨董には·琵圭倡券茨董 CCS (2.0) と Windows シミュレ〖ション茨董を脱いるˉそれぞれの倡券茨董の菇蜜数恕については·CCS のドキュメントおよび·Windows シミュレ〖ション茨董菇蜜マニュアルを徊救のことˉなお·CCS (2.0) のインスト〖ルは c:\ti のディレクトリに乖うことを涟捏として棱汤を乖うˉ4.1 倡券茨董の车妥コンフィギュレ〖タは·Windowsシミュレ〖ション茨董で侯喇した cfg.exe を脱いるˉ4.1.2 ライブラリ簇眶TMS320C54x では·近换·32ビット捐换にライブラリ簇眶を脱いているˉしかし·ライブラリをプロジェクトに寥み哈んでビルドすると·start.S のスタ〖トアップル〖チンが蝗脱できなくなるˉそのため·ライブラリのソ〖ス (rts.src) からいくつかの簇眶のソ〖スˇファイルを藐叫してプロジェクトに纳裁する涩妥が栏じる眷圭があるˉサンプルプログラムでは·ldiv.asm, udiv.asm, lmpy.asm の3つのファイルが涩妥となるˉ笆布のコマンドでソ〖スˇファイルを藐叫するˉ    ar500 -x rts.src ldiv.asm udiv.asm lmpy.asm    c:\ti\c5400\cgtools\bin\      ar500.exe    c:\ti\c5400\cgtools\lib\      rts.srcこれらのファイルを却き叫したら·jsp/config/tms320c54x に纳裁するˉ4.1.2 Code Composer Studio 2.0 (CCS 2.0) におけるビルド数恕まず·jsp のア〖カイブファイルを c:\ti\myprojects\ に鸥倡するˉjsp\sample の sample1.cfg, sample1.h, sample1.c を jsp\C5402DSK にコピ〖するˉ\jsp\C5402DSK\ccs_project 柒にあるサンプルプログラムのプロジェクトファイルを倡くと·ビルドに涩妥な肋年を姜えた觉轮で CCS が弹瓢するˉサンプル笆嘲のコンフィギュレ〖ションファイルを网脱する眷圭·コンフィギュレ〖タに kernel_id.h と kernel_cfg.c を侯喇させる涩妥があるˉ栏喇数恕については·Windows シミュレ〖ション茨董菇蜜マニュアルを徊救のことˉ栏喇されたら·これらのファイルをプロジェクトに纳裁し·CCS からビルドを乖えばプログラムが侯喇されるˉ4.1.3 コンフィギュレ〖タの扩嘎祸灌CCS では鄂のオブジェクトは侯れないため·cfg のオプションとして   --ZERO "x y[1]"を回年するˉ5ˉその戮 5.1 ディレクトリˇファイル菇喇     c:\ti\myprojects\jsp\C5402DSK	build.bat        kernel_cfg.c kernel_id.h 栏喇のためのバッチファイル	\ccs_project\ccs_project.pjt	CCS 2.0 プロジェクトファイル     c:\ti\myprojects\jsp\config\tms320c54x	c54x.h			TMS320C54x の年盗	cpu_support.S		プロセッサ巴赂婶のサブル〖チン	cpu_config.c		プロセッサ巴赂婶の簇眶	cpu_config.h		プロセッサ巴赂婶の菇喇年盗	cpu_context.h		コンテキスト拎侯	cpu_defs.h		プロセッサ巴赂婶のアプリケ〖ション脱年盗	start.S			スタ〖トアップモジュ〖ル	vectors.S		充哈みベクタテ〖ブル	hw_timer.h		タイマ拎侯ル〖チン	     c:\ti\myprojects\jsp\config\tms320c54x\c5402dsk	c5402dsk.cmd		リンカコマンドファイル	hw_serial.h		シリアルインタフェ〖スデバイス拎侯ル〖チン	c5402dsk.h		C5402 DSK ハ〖ドウェア年盗	sys_config.c		システム巴赂婶の簇眶	sys_config.h		システム巴赂婶の菇喇年盗	sys_defs.h		システム巴赂婶のアプリケ〖ション脱年盗	sys_support.S		システム巴赂婶のサブル〖チン

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -