* M32C SERIES ASSEMBLER * SOURCE LIST Fri Jun 27 11:32:46 2014 PAGE 001 SEQ. LOC. OBJ. 0XMSDA .*....*....SOURCE STATEMENT....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0 1 ;* 2 ;* TOPPERS/SSP Kernel 3 ;* Toyohashi Open Platform for Embedded Real-Time Systems/ 4 ;* Advanced Standard Profile Kernel 5 ;* 6 ;* Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 ;* Toyohashi Univ. of Technology, JAPAN 8 ;* Copyright (C) 2001 by OAKS16KIT support 9 ;* Copyright (C) 2003-2004 by Ryosuke Takeuchi 10 ;* Platform Development Center RICOH COMPANY,LTD. JAPAN 11 ;* Copyright (C) 2008 by Witz Corporation, JAPAN 12 ;* Copyright (C) 2003-2004, 2010, 2011 by Naoki Saito 13 ;* Nagoya Municipal Industrial Research Institute, JAPAN 14 ;* 15 ;* 上記著作権者は,Free Software Foundation によって公表されている 16 ;* GNU General Public License の Version 2 に記述されている条件か,以 17 ;* 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ 18 ;* アを改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 19 ;* 利用と呼ぶ)することを無償で許諾する. 20 ;* (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 21 ;* 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 22 ;* スコード中に含まれていること. 23 ;* (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ 24 ;* ジェクトファイルやライブラリなど)の形で利用する場合には,利用 25 ;* に伴うドキュメント(利用者マニュアルなど)に,上記の著作権表示, 26 ;* この利用条件および下記の無保証規定を掲載すること. 27 ;* (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組 28 ;* み込んだ形で利用する場合には,次のいずれかの条件を満たすこと. 29 ;* (a) 利用に伴うドキュメント(利用者マニュアルなど)に,上記の著作 30 ;* 権表示,この利用条件および下記の無保証規定を掲載すること. 31 ;* (b) 利用の形態を,別に定める方法によって,上記著作権者に報告する 32 ;* こと. 33 ;* (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 34 ;* 害からも,上記著作権者を免責すること. 35 ;* 36 ;* 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, 37 ;* 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ 38 ;* ない.また,本ソフトウェアの利用により直接的または間接的に生じたい 39 ;* かなる損害に関しても,その責任を負わない. 40 41 .section program, code, align 42 43 0000000Ah PRCR .equ 000AH ; プロテクトレジスタ 44 0,0000000Ah PRC0 .btequ 0,PRCR ; システムクロックレジスタビット 45 1,0000000Ah PRC1 .btequ 1,PRCR ; プロセッサモードレジスタビット 46 47 00000004h PM0 .equ 0004H ; プロセッサモードレジスタ0 48 00000005h PM1 .equ 0005H ; プロセッサモードレジスタ1 49 50 00000006h CM0 .equ 0006H ; クロックモードレジスタ0 51 00000007h CM1 .equ 0007H ; クロックモードレジスタ1 52 0000000Ch MCD .equ 000CH 53 0000000Dh CM2 .equ 000DH 54 00000026h PLC0 .equ 0026H 55 7,00000026h PLC07 .btequ 7,PLC0 56 00000027h PLC1 .equ 0027H 57 00000000h C_CM0 .equ 00000000B ; CM0(Xcin-HIGH) 58 00000020h C_CM1 .equ 00100000B ; CM1(Xin-HIGH) 59 00000000h C_CM2 .equ 00000000B ; メインクロック分周なし 60 00000012h C_MCD .equ 00010010B ; 発振停止検出機能無効 61 00000253h C_PLC .equ 0000001001010011b ; PLL設定 62 * M32C SERIES ASSEMBLER * SOURCE LIST Fri Jun 27 11:32:46 2014 PAGE 002 SEQ. LOC. OBJ. 0XMSDA .*....*....SOURCE STATEMENT....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0 63 64 .glb _software_init_hook 65 .glb _hardware_init_hook 66 67 000000 _hardware_init_hook: 68 ; ----- set Processor mode ----- 69 000000 D6F90A00 bset PRC1 ; プロセッサモードレジスタ書き込みイネーブル 70 000004 120400 Z mov.b #00000000b,PM0 ; シングルチップモード、BCLK出力しない 71 000007 120500 Z mov.b #00000000b,PM1 ; メモリ非拡張、ノーウェイト 72 00000A D6F10A00 bclr PRC1 ; プロセッサモードレジスタ書き込みディゼーブル 73 ; ----- set System clock ----- 74 00000E D6F80A00 bset PRC0 ; クロックコントロールレジスタ書き込みイネーブル 75 000012 120600 Z mov.b #C_CM0,CM0 ; 発信 76 000015 14070020 S mov.b #C_CM1,CM1 ; 77 000019 120D00 Z mov.b #C_CM2,CM2 ; 発振停止検出機能無効 78 00001C 140C0012 S mov.b #C_MCD,MCD ; メインクロック分周なし 79 000020 1526005302 S mov.w #C_PLC, PLC0 ; PLL停止 PLL6逓倍の2分周 80 000025 D6FF2600 bset PLC07 ; PLL動作 81 ; PLLシンセサイザ安定待ち 82 ; 安定待ち時間 Vcc=5V:5ms/Vcc=3.3V:10ms 83 ; dec/jz=1+3=4サイクル 10MHz=1サイクル100ns 1ループ400ns 84 ; 400ns*12500ループ=5ms 85 000029 05D430 S mov.w #12500, r0 86 00002C lockup: 87 00002C B98E dec.w r0 88 00002E 9AFD jnz lockup 89 000030 D6FF0700 bset 7, CM1 ; PLLクロックをCPUクロックに設定 90 000034 D6F00A00 bclr PRC0 ; レジスタ書き込みディゼーブル 91 92 000038 DF rts 93 ; 94 95 .if EXTERN_SOFT_HOOK == 1 96 .else 97 00000000h _software_init_hook .equ 0H 98 .endif 99 100 101 ; 102 ; sil_dly_nseで用いる定数値(30MHzの場合) 103 ; 104 .glb SIL_DLY_TIM1 105 .glb SIL_DLY_TIM2 106 107 00000924h SIL_DLY_TIM1 .equ 2340 108 000000C8h SIL_DLY_TIM2 .equ 200 109 110 .end Information List TOTAL ERROR(S) 00000 TOTAL WARNING(S) 00000 TOTAL LINE(S) 00110 LINES Section List Attr Size Name CODE 00000057(000039H) program