📄 m32r.txt
字号:
♂ TOPPERS/JSPカ〖ネル ユ〖ザズマニュアル ♂ (话嫂排怠 M32R プロセッサ) 话嫂排怠澜 : M3A-2131G50 ∈Release 1.3 滦炳·呵姜构糠: 06-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)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· 网脱と钙ぶ∷することを痰浸で钓满するˉ (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 スコ〖ド面に崔まれていることˉ (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する ことˉ (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 巢からも·惧淡螟侯涪荚を倘勒することˉ 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい かなる禄巢に簇しても·その勒扦を砷わないˉ @(#) $Id: m32r.txt,v 1.4 2002/04/14 15:27:12 hiro Exp $------------------------------------------------------------------------このドキュメントでは·TOPPERS/JSP M32R惹について豺棱するˉ================================1ˉ M32R タ〖ゲット巴赂婶の车妥================================1.1 タ〖ゲットシステムと倡券茨董M32R茨董の悸乖茨董としては·肌のものを鳞年しているˉ ˇ话嫂排怠 M3A-2131G50 (M32102)また倡券茨董として肌のものを鳞年しているˉ ˇSoralis/BSD/Linux(POSIX) または Microsoft Windows(win32) + cygwin 1.1.0 ˇbinutils 2.11 (m32r-elf) ˇgcc 2.95.3 (m32r-elf)输颅TOPPERS/JSP M32Rの倡券は 肌の茨董で乖われているˉ ˇVine Linux 2.2 (Windows XP Professional + VMWare workstation 3.0惧で瓢侯) ˇGNU binutils-2.11.2 [m32r-elf] ˇGNU gcc-2.95.4 20010604 (Debian prerelease)1.2 サポ〖トする怠墙の车妥 ˇ驴脚充哈み M32R茨董では充哈みハンドラ弹瓢面の驴脚充り哈みを钓材するˉ ˇchg_ipm M32R茨董では·chg_ipm(充哈みマスクレベルの恃构)をサポ〖トするˉ タスク柒でchg_ipmを网脱してマスクレベルを恃构した眷圭·悸乖した タスクでのみ恃构が铜跟となる (ディスパッチ箕に充哈みマスクを 锣闰/恃构する)ˉ1.3 TOPPERS/JSP M32R茨董の扩嘎祸灌 ˇvxget_tim M32R茨董ではvxget_timをサポ〖トしないˉ ˇena_int, dis_int M32R茨董ではユ〖ザによる充哈み钓材ˇ敦贿は乖えないものとしているˉ ただしena_int/dis_intは·loc_cpu/unl_cpuの侍叹として赂哼するˉ ˇタイマティックは1ms TOPPERS/JSP M32Rでは·1msの篮刨でカ〖ネルタイマを额瓢するˉ==========================2ˉM32R茨董に巴赂した怠墙==========================この泪では·カ〖ネルおよびシステムサ〖ビスの怠墙の面で·M32R茨董巴赂の婶尸について豺棱するˉ2.1 デ〖タ房int房 および unsigned int房のサイズは32ビットであるˉ充哈み庭黎刨を山附する房 IPR は射规なし8ビット腊眶であるˉ==========================3ˉシステムに巴赂した怠墙==========================3.1 メモリマップˇM3A-2131G50 0x00000000 - 0x0000020f : ベクタテ〖ブル, EITハンドラの办婶 0x00000210 - : プログラムコ〖ド (嘲婶ROM) 0x00f00000 - 0x00f0ffff : システムスタック (柒垄RAM) 0x01000000 - 0x017fffff : 嘲婶SDRAM (8MB)スタック挝拌は柒垄RAM挝拌の琐萨からアドレス猛が负警する数羹へ渴むˉデ〖タ挝拌は疥年の挝拌からアドレス猛が笼裁する数羹へ澄瘦されるˉM3A-2131G50巴赂婶では、システムスタックを近くすべてのデ〖タを嘲婶SDRAMに芹弥することをデフォルトとしている。芹弥を恃えるためには、M3A-2131G50脱リンカスクリプトファイル(jsp/config/m32r/m3a2131g50/m32relf.ld)を饯赖すればよい。3.2 戮のシステム/チップへのポ〖ティングポ〖ティング侯度は肌のステップからなるˉ ˇメモリマップドレジスタのアドレス猛肋年 ˇタイマ〖猛の肋年 ˇRAM倡幌戎孟の肋年 ˇイニシャルスタックポインタの肋年3.2.1 メモリマップドレジスタのアドレス猛肋年TOPPERS/JSP M32R茨董ではいくつかの扩告レジスタを徊救しているˉこれらは链てシステム巴赂婶脱ディレクトリのsys_defs.hで年盗されているˉ网脱荚は涩妥に炳じてこれらの猛を饯赖することˉ3.2.2 タイマ〖猛の肋年TOPPERS/JSP M32R茨董では筛洁で1msごとに充哈みを券栏させているˉ充哈みを券栏させるまでの箕粗はタイマコンペアレジスタの猛をマニュアルにしたがって拇腊することで耽ることができるˉconfig/v850/m3a2131g50/sys_config.h:63 /* M3A-2131G50 66MHz で 115.2kbps */#define SERIAL_PORT (CONSOLE_PORTID-1)#define SERIAL_INT_PRIORITY 0#define SERIAL_CLKDIV 17#define SERIAL_CLKCMP 7またタイムティック极挛を饯赖する眷圭はsys_defs.h:142,143のTIC_NUMEおよびTIC_DENOを饯赖するˉそれぞれは肌及に骄うˉタイムティック(ms) = TIC_NUME(ms) / TIC_DENO(ms)3.2.3 RAM倡幌戎孟の肋年config/m32r/m3a2131g50/m32relf.ldのMEMORY婶の柒推を饯赖することで、メモリのサイズおよび疤弥を恃えることができる。また、称セクションの琐萨にある "> SDRAM" または "> EXTROM"を恃えることで、芹弥する鄂粗を恃えることも材墙である。3.2.4 イニシャルスタックポインタの肋年弹瓢箕に肋年される介袋スタックポインタ(充哈みスタックポインタ)の戎孟はconfig/m32r/m3a2131g50/m32relf.ld:45の__stackに淡揭されているˉこの__stackには4バイトアラインされた猛を呈羌するˉconfig/m32r/(sys)/m32relf.ld:45 PROVIDE(__stack = 0x00f10000);スタックはプリデクリメントスタックであるため·__stackで绩されたアドレスには部も呈羌されないことに庙罢されたいˉ3.2.5 その戮の肋年 ˇ蝗脱するタイマユニットの戎规 config/m32r/(sys)/sys_config.h:71 TIMER_PORT离咐 蝗脱するタイマユニット戎规を年める。デフォルトは5。筛洁の觉 轮では、この离咐を饯赖するだけで、充哈み戎规やレジスタアドレ スなども饯赖される。 ˇコンソ〖ルに蝗脱するUARTユニットのID config/m32r/(sys)/sys_config.h:60 CONSOLE_PORTID离咐 コンソ〖ルとして蝗脱するUARTユニットIDを回年する。UARTユニッ トIDは1から幌まることに庙罢。デフォルトは1。 ˇ充哈み妥傍の呵络眶 config/m32r/(sys)/sys_config.h:55 NUM_INTERRUPT离咐 充哈みベクタテ〖ブルを侯喇するための充哈み妥傍の呵络眶を肋年 する。デフォルトは64 (0-63)。==================4ˉ倡券茨董の菇蜜==================倡券茨董の菇蜜数恕については·GNU倡券茨董菇蜜マニュアルを徊救することˉ塑CPUを急侍するためのタ〖ゲット叹は m32r-elf であるˉ==========5ˉその戮==========5.1 ディレクトリˇファイル菇喇[jsp] +- [doc] | +- m32r.txt : このファイル +- [config] +- [m32r] +- cpu_config.c : プロセッサ巴赂モジュ〖ル +- cpu_config.h : プロセッサ巴赂モジュ〖ル +- cpu_context.h : タスクコンテキスト拎侯ル〖チン +- cpu_defs.h : CPU巴赂攫鼠(充哈み/毋嘲戎规など) 年盗ファイル +- cpu_support.S : CPU巴赂アセンブリ咐胳コ〖ディング婶 +- m32rasm.inc : アセンブラ脱インクル〖ドファイル +- m32relf.ld : リンカスクリプト (M32R 绕脱) +- Makefile.config : CPU巴赂Makefile +- makeoffset.c : 菇陇挛オフセット疤弥艰评脱 +- start.S : スタ〖トアップ / 充哈みハンドラ +- [m3a2131g50] +- hw_serial.h : シリアル拎侯 (M32R柒垄润票袋SIO) +- hw_timer.h : タイマ拎侯 (M32R柒垄タイマ) +- m32relf.ld : M3A-2131G50漓脱リンカスクリプト +- Makefile.config : システム巴赂Makefile +- sys_config.h : システム巴赂モジュ〖ル +- sys_config.c : システム巴赂モジュ〖ル +- sys_defs.h : システム巴赂年盗ファイル +- sys_support.S : システム巴赂アセンブラ婶==================6ˉバ〖ジョン旺悟================== 2002钳03奉10泣 Release 0.2 ˇクロックを66MHzにˉ蝗脱タイマを0->5へˉ ˇドキュメント腊洒 2002钳03奉01泣 Release 0.1 ˇ呵介のリリ〖ス
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -