📄 sys_support.src
字号:
;/* ;* 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 ;* Copyright (C) 2001,2002 by Dep. of Computer Science and Engineering ;* Tomakomai National College of Technology, JAPAN ;* Copyright (C) 2001,2002 by Industrial Technology Institute, ;* Miyagi Prefectural Government, JAPAN ;* ;* 惧淡螟侯涪荚は·Free Software Foundation によって给山されている ;* GNU General Public License の Version 2 に淡揭されている掘凤か·笆 ;* 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ ;* アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· ;* 网脱と钙ぶ∷することを痰浸で钓满するˉ ;* (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 ;* 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 ;* スコ〖ド面に崔まれていることˉ ;* (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ ;* ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 ;* に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· ;* この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ ;* (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 ;* み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ ;* (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 ;* 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ ;* (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する ;* ことˉ ;* (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 ;* 巢からも·惧淡螟侯涪荚を倘勒することˉ ;* ;* 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· ;* 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ;* ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい ;* かなる禄巢に簇しても·その勒扦を砷わないˉ ;* ;* @(#) $Id: sys_support.src,v 1.2 2002/04/13 13:15:41 imai Exp $ ;*/;/* 泣惟姐赖Cコンパイラ脱アセンブラソ〖ス */ .CPU 2000A:24_MACRO_ONLY: .DEFINE ""; .INCLUDE "jsp_kernel.h" .INCLUDE "h8s_2350_asm.h";/* 充哈みベクタの年盗 */;/*∈ベクタテ〖ブルは盖年なので、充哈みの叫掐り庚借妄のラベルは */;/* 笆布のベクタテ〖ブルに木儡今き哈む涩妥がある。) */ .SECTION V, CODE, ALIGN=4 .GLOBAL _vectors .IMPORT _start .IMPORT _no_reg_exception .IMPORT _timer_handler_entry .IMPORT _serial_in_handler_entry .IMPORT _serial_out_handler_entry .IMPORT _cpuexc_handler_entry_vectors: .DATA.L _start ;/* 0, 0x0000: パワ〖オンリセット */ .DATA.L _start ;/* 1, 0x0004: マニュアルリセット */ .DATA.L _no_reg_exception ;/* 2, 0x0008: システム徒腆 */ .DATA.L _no_reg_exception ;/* 3, 0x000c: システム徒腆 */ .DATA.L _no_reg_exception ;/* 4, 0x0010: システム徒腆 */ .DATA.L _no_reg_exception ;/* 5, 0x0014: トレ〖ス */ .DATA.L _no_reg_exception ;/* 6, 0x0018: システム徒腆 */ .DATA.L _no_reg_exception ;/* 7, 0x001c: 嘲婶充哈み NMI */ .DATA.L _no_reg_exception ;/* 8, 0x0020: トラップ炭吾 */ .DATA.L _no_reg_exception ;/* 9, 0x0024: トラップ炭吾 */ .DATA.L _no_reg_exception ;/* 10, 0x0028: トラップ炭吾 */ .DATA.L _no_reg_exception ;/* 11, 0x002c: トラップ炭吾 */ .DATA.L _no_reg_exception ;/* 12, 0x0030: システム徒腆 */ .DATA.L _no_reg_exception ;/* 13, 0x0034: システム徒腆 */ .DATA.L _no_reg_exception ;/* 14, 0x0038: システム徒腆 */ .DATA.L _no_reg_exception ;/* 15, 0x003c: システム徒腆 */ ;/* ---嘲婶充哈み-------------------------------------------- */ .DATA.L _no_reg_exception ;/* 16, 0x0040: IRQ0 */ .DATA.L _no_reg_exception ;/* 17, 0x0044: IRQ1 */ .DATA.L _no_reg_exception ;/* 18, 0x0048: IRQ2 */ .DATA.L _no_reg_exception ;/* 19, 0x004c: IRQ3 */ .DATA.L _no_reg_exception ;/* 20, 0x0050: IRQ4 */ .DATA.L _no_reg_exception ;/* 21, 0x0054: IRQ5 */ .DATA.L _no_reg_exception ;/* 22, 0x0058: IRQ6 */ .DATA.L _no_reg_exception ;/* 23, 0x005c: IRQ7 */ ;/* ---DTC---------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 24, 0x0060: SWDTEND(ソフトウェア弹瓢デ〖タ啪流姜位) */ ;/* ウォッチドッグタイマ-------------------------------------- */ .DATA.L _no_reg_exception ;/* 25, 0x0064: WOVI(インタ〖バルタイマ) */ ;/* ---リフレッシュコントロ〖ラ------------------------------- */ .DATA.L _no_reg_exception ;/* 26, 0x0068: CMI(コンペアマッチ) */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 27, 0x006c: リザ〖ブ */ ;/* ---A/D---------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 28, 0x0070: ADI(A/D恃垂の姜位) */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 29, 0x0074: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 30, 0x0078: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 31, 0x007c: リザ〖ブ */ ;/* ---TPUチャネル0------------------------------------------- */ .DATA.L _timer_handler_entry ;/* 32, 0x0080: TGI0A */ .DATA.L _no_reg_exception ;/* 33, 0x0084: TGI0B */ .DATA.L _no_reg_exception ;/* 34, 0x0088: TGI0C */ .DATA.L _no_reg_exception ;/* 35, 0x008c: TGI0D */ .DATA.L _no_reg_exception ;/* 36, 0x0090: TCI0V */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 37, 0x0094: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 38, 0x0098: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 39, 0x009c: リザ〖ブ */ ;/* ---TPUチャネル1------------------------------------------- */ .DATA.L _no_reg_exception ;/* 40, 0x00a0: TGI1A */ .DATA.L _no_reg_exception ;/* 41, 0x00a4: TGI1B */ .DATA.L _no_reg_exception ;/* 42, 0x00a8: TCI1V */ .DATA.L _no_reg_exception ;/* 43, 0x00ac: TCI1U */ ;/* ---TPUチャネル2------------------------------------------- */ .DATA.L _no_reg_exception ;/* 44, 0x00b0: TGI2A */ .DATA.L _no_reg_exception ;/* 45, 0x00b4: TGI2B */ .DATA.L _no_reg_exception ;/* 46, 0x00b8: TCI2V */ .DATA.L _no_reg_exception ;/* 47, 0x00bc: TCI2U */ ;/* --TPUチャネル3-------------------------------------------- */ .DATA.L _no_reg_exception ;/* 48, 0x00c0: TGI3A */ .DATA.L _no_reg_exception ;/* 49, 0x00c4: TGI3B */ .DATA.L _no_reg_exception ;/* 50, 0x00c8: TGI3C */ .DATA.L _no_reg_exception ;/* 51, 0x00cc: TGI3D */ .DATA.L _no_reg_exception ;/* 52, 0x00d0: TCI3V */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 53, 0x00d4: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 54, 0x00d8: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 55, 0x00dc: リザ〖ブ */ ;/* ---TPUチャネル4------------------------------------------- */ .DATA.L _no_reg_exception ;/* 56, 0x00e0: TGI4A */ .DATA.L _no_reg_exception ;/* 57, 0x00e4: TGI4B */ .DATA.L _no_reg_exception ;/* 58, 0x00e8: TCI4V */ .DATA.L _no_reg_exception ;/* 59, 0x00ec: TCI4U */ ;/* ---TPUチャネル5------------------------------------------- */ .DATA.L _no_reg_exception ;/* 60, 0x00f0: TGI5A */ .DATA.L _no_reg_exception ;/* 61, 0x00f4: TGI5B */ .DATA.L _no_reg_exception ;/* 62, 0x00f8: TCI5V */ .DATA.L _no_reg_exception ;/* 63, 0x00fc: TCI5U */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 64, 0x0100: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 65, 0x0104: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 66, 0x0108: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 67, 0x010c: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 68, 0x0110: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 69, 0x0114: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 70, 0x0118: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 71, 0x011c: リザ〖ブ */ ;/* ---DMAC--------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 72, 0x0120: DEND0A */ .DATA.L _no_reg_exception ;/* 73, 0x0124: DEND0B */ .DATA.L _no_reg_exception ;/* 74, 0x0128: DEND1A */ .DATA.L _no_reg_exception ;/* 75, 0x012c: DEND0B */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 76, 0x0130: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 77, 0x0134: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 78, 0x0138: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 79, 0x013c: リザ〖ブ */ ;/* ---SCIチャネル0------------------------------------------- */ .DATA.L _serial_in_handler_entry ;/* 80, 0x0140: ERI0 */ .DATA.L _serial_in_handler_entry ;/* 81, 0x0144: RXI0 */ .DATA.L _serial_out_handler_entry ;/* 82, 0x0148: TXI0 */ .DATA.L _no_reg_exception ;/* 83, 0x014c: TEI0 */ ;/* ---SCIチャネル1------------------------------------------- */ .DATA.L _no_reg_exception ;/* 84, 0x0150: ERI1 */ .DATA.L _no_reg_exception ;/* 85, 0x0154: RXI1 */ .DATA.L _no_reg_exception ;/* 86, 0x0158: TXI1 */ .DATA.L _no_reg_exception ;/* 87, 0x015c: TEl1 */ ;/* ---------------------------------------------------------- */ .DATA.L _no_reg_exception ;/* 88, 0x0160: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 89, 0x0164: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 90, 0x0168: リザ〖ブ */ .DATA.L _no_reg_exception ;/* 91, 0x016c: リザ〖ブ */ .SECTION P, CODE, ALIGN=2 .GLOBAL _hardware_init_hook .IMPORT start_1_hardware_init_hook: ;/* 充哈み扩告モ〖ドの肋年∈充哈み扩告モ〖ド2)*/ ;/* EXR の I2×I0 ビットを充り哈みマスクビットとして蝗脱 */ ;/* cpu_initialize()に淡揭すべき */ mov.l #H8SSYSCR, er0 mov.b @er0, r1h or.b #H8SSYSCR_INTM1, r1h bclr #H8SSYSCR_RNAME_BIT, r1h ;/* 柒垄RAM痰跟 */ mov.b r1h, @er0 ;/* CPU瓢侯モ〖ドはボ〖ド惧のディップスイッチでモ〖ド5に肋年されている。 */ ;/* モ〖ド5¨アドバンストモ〖ド、アドレス鄂粗は16Mバイト、柒隆ROM痰跟 */ ;/* */ ;/* CPU瓢侯モ〖ドを肋年することで、I/Oポ〖トは极瓢弄に笆布のように */ ;/* 肋年されるので、ここでは肋年しない。 */ ;/* ポ〖トA,B,C->アドレス叫蜗 */ ;/* ポ〖トD->デ〖タ掐叫蜗 */ ;/* ポ〖トFのPF6×PF3->バス扩告叫蜗 */ ;/* */ ;/* バスコントロ〖ラ(BSC)の肋年(エリア0·1·7) */ ;/* 嘲婶ROM(128kB)->エリア0 */ ;/* 嘲婶RAM(128kB)->エリア1 */ ;/* 柒垄RAM(2kB)·柒婶I/Oレジスタ->エリア7 */ ;/* ( 庙罢¨ 柒垄RAM第び柒垄I/Oレジスタに滦するアクセスステ〖ト眶は */ ;/* ASTCRの肋年猛に簇わらず盖年。) */ ;/* 介袋猛の肋年のままである眷圭には、笆布のバスコントロ〖ラ */ ;/* の肋年は稍妥である. */ ;/* エリア0 */ ;/* ¨3ステ〖トアクセス(ASTCR.AST0<-1(介袋猛)) */ ;/* : プログラムウエイトを3ステ〖ト赁掐(WCRL.W01<-1,WCRL.W00<-1) */ ;/* エリア1 */ ;/* ¨3ステ〖トアクセス(AST1<-1(介袋猛)) */ ;/* : プログラムウエイトを3ステ〖ト赁掐(WCRL.W11<-1,WCRL.W10<-1) */ ;/* アイドルサイクルの赁掐 */ ;/* ¨佰なるエリアの嘲婶リ〖ドサイクルが息鲁したときに, */ ;/* アイドルサイクルを赁掐(BCRH.ICIS1<-1) */ ;/* :嘲婶リ〖ドサイクルと嘲婶ライトサイクルが息鲁したときに, */ ;/* アイドルサイクルを赁掐(BCRH.ICIS01<-1) */ ;/* ウエイトコントロ〖ルレジスタL(WCRL)の肋年 */ mov.l #H8SWCRL, er0 mov.b #H'ff, r1l ;/* 介袋猛 */ ; /* mov.b #H'f1, r1l */ ;/* エリア0は1ステ〖ト赁掐 */ ;/* エリア1は0ステ〖ト赁掐 */ mov.b r1l, @er0 ;/* バスコントロ〖ルレジスタH(BCRH)の肋年 */ ;/* BCRHは介袋猛のままなので肋年稍妥 */ mov.l #H8SBCRH,er0 mov.b #H'ff,r1l ;/* 介袋猛 */ ;/* mov.b #H'10,r1l */ ;/* アイドルサイクルは赁掐しない */ mov.b r1l, @er0 ;/* PGDDR -> 0x18 */ ;/* CS0,CS1 イネ〖ブル */ mov.l #H8SPGDDR, er0 mov.b #H'18, r1l mov.b r1l, @er0 mov.l @start_1_k, er0 jmp @er0start_1_k: .DATA.L start_1 .END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -