📄 start.s
字号:
; *; * TOPPERS/JSP Kernel; * Toyohashi Open Platform for Embedded Real-Time Systems/; * Just Standard Profile Kernel; * ; * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory; * Toyohashi Univ. of Technology, JAPAN; * ; * 惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation ; * によって给山されている GNU General Public License の Version 2 に淡; * 揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア; * を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布·; * 网脱と钙ぶ∷することを痰浸で钓满するˉ; * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯; * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖; * スコ〖ド面に崔まれていることˉ; * (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗; * 脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱; * 荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡; * の痰瘦沮惮年を非很することˉ; * (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗; * 脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ; * とˉ; * (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟; * 侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ; * (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに; * 鼠桂することˉ; * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄; * 巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ; * ; * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お; * よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も; * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木; * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ; * ; * @(#) $Id: start.S,v 1.6 2003/12/04 08:25:44 honda Exp $; * .c_mode .mmregs .include "c5402dsk.h" .global _main .align 1;スタック挝拌にはデ〖タ挝拌の呵稿の途った挝拌を充り碰てる。;__stack:.usect ".stack",0 .text_start: ;****************************************** ; ステ〖タスレジスタの介袋步 ;****************************************** SSBX INTM ;すべてのマスカブル充り哈みを敦贿 STM #0x0FFFF,IFR ;IFRのクリア SSBX SXM ;射规ビットセット SSBX CPL ;コンパイラ高垂モ〖ド RSBX OVM ;润税下モ〖ド LD #0,ARP ;输锦レジスタポインタ RSBX CMPT RSBX C16 RSBX FRCT ;****************************************** ; スタックポインタの介袋步 ;****************************************** STM #STACKTOP,SP ANDM #0x0fffe,*(SP) ;SPを饿眶アドレスにアライン ;****************************************** ; _hardware_init_hook の钙び叫し ;******************************************start_0: LD #_hardware_init_hook,A CC _hardware_init_hook,ANEQ ;****************************************** ; bssセクションの介袋步 ;******************************************start_1: STM #___bss__,AR2 RPTZ A,#___end__-___bss__-1 STL A,*AR2+ LD #cinit,A ;cinit=-1ならcinitは痰い ADD #1,A,B BC start_4,BEQ RSBX SXM ;射规ビットクリア NOP LD #cinit,A B start_2start_3: READA *(AR2) ;AR2 = 恃眶のアドレス ADD #1,A ;介袋步デ〖タへのポインタを滇める RPT *(AR1) ;length+1 帆り手す READA *AR2+ ;恃眶を介袋步 ADD *(AR1),A ; ADD #1,A ;デ〖タ墓尸だけポインタを渴めるstart_2: READA *(AR1) ;AR1 = length ADD #1,A ;A += 1 BANZ start_3,*AR1- ;if (length != 0) length--、ジャンプ ;***************************************** ; software_init_hookを钙び叫す ;*****************************************start_4: LD #_software_init_hook,A CC _software_init_hook,ANEQ; ST #1,*(_nest) CALL _kernel_start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -