📄 armv4.txt
字号:
亖 TOPPERS/JSP僇乕僱儖 儐乕僓僘儅僯儏傾儖 亖
乮ARMv4 僞乕僎僢僩埶懚晹乯
乮Release 1.4.2懳墳丆嵟廔峏怴: 11-Jul-2005乯
------------------------------------------------------------------------
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: armv4.txt,v 1.1 2006/04/14 02:46:15 9564907 Exp $
------------------------------------------------------------------------
侾丏ARMv4 僞乕僎僢僩埶懚晹偺奣梫
1.1 僞乕僎僢僩僔僗僥儉偲奐敪娐嫬
ARMV4 僾儘僙僢僒偺僞乕僎僢僩僔僗僥儉偲偟偰偼丆ARMv4傾乕僉僥僋僠儍偺CPU
僐傾傪搵嵹偟偨埲壓偺儃乕僪傪僒億乕僩偟偰偄傞丏側偍丆Thumb柦椷偼僒億乕
僩偟偰偄側偄丏
丒ARM惢偺 Integrator/CM922T-ETM(ARM9TDMI) + Integrator/AP
奐敪娐嫬偵偼丆GCC 側偳偺 GNU奐敪娐嫬傪梡偄丆僆僽僕僃僋僩僼傽僀儖僼僅乕
儅僢僩偼 ELF 傪昗弨偲偡傞丏
Integrator偱偼丆幚峴娫娐嫬偲偟偰JTAG-ICE傪梡偄傞偙偲傪憐掕偟偰偄傞丏
JTAG-ICE偲偟偰偼丆ARM幮惢偺 Multi-ICE 偲丆僜僼傿傾僔僗僥儉僘惢偺
UniSTAC II/J ETM for ARM9 偱摦嶌妋擣偟偰偄傞丏
1.2 僒億乕僩偡傞婡擻偺奣梫
ARMv4 埶懚偺婡擻偲偟偰丄惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻(vxget_tim)傪僒億
乕僩偟偰偄傞丅妱崬傒偺嬛巭偲嫋壜(dis_int丄ena_int)偼僒億乕僩偟偰偄側偄丅
1.3 懠偺僞乕僎僢僩傊偺億乕僥傿儞僌
懠偺僞乕僎僢僩偵億乕僥傿儞僌偡傞偨傔偵偼丆僔僗僥儉埶懚晹偵埲壓偺僐乕僪
偑昁梫偲側傞丏
丒妱崬傒偺弌擖傝岥張棟乮sys_support.S乯
丒僞僀儅乕僪儔僀僶
丒僔儕傾儖僪儔僀僶
1.4 Integrator 偺弶婜壔
1.5 僔儕傾儖億乕僩
Integrator 偱偼Integrator/AP 忋偺 UART 傪僇乕僱儖儘僌弌椡梡偵巊梡偡傞丏
僨傿僼僅儖僩偱偼丆懍搙115200bps,僨乕僞:8bit,Parity:none,Stop:1bit偱偁
傞丅
1.6 Thumb僐乕僪偵偮偄偰
Thumb僐乕僪偺棙梡偵偮偄偰偼丆尰帪揰偱偼僒億乕僩偟偰側偄丏
俀丏ARMv4 僾儘僙僢僒埶懚晹偺婡擻
偙偺愡偱偼丄僇乕僱儖偍傛傃僔僗僥儉僒乕價僗偺婡擻偺拞偱丄ARMv4埶懚偺晹暘
偵偮偄偰夝愢偡傞丅
2.1 僨乕僞宆
int宆偍傛傃 unsigned int宆偺僒僀僘偼 32價僢僩偱偁傞丅
2.2 妱崬傒娗棟婡擻偲妱崬傒僴儞僪儔
僇乕僱儖娗棟奜偺妱崬傒偲偟偰偼 FIQ偑偁傞丅傛偭偰丄CPU儘僢僋忬懺傗弶
婜壔儖乕僠儞撪偱偼丄FIQ 埲奜偺妱崬傒偼偡傋偰嬛巭偝傟偰偄傞丅嬶懱揑偵偼丄
CPSR(僇儗儞僩僾儘僌儔儉忬懺儗僕僗僞)偺IRQ嬛巭價僢僩(價僢僩7)偑 1 偵愝
掕偝傟傞丅
DEF_INH 偱巜掕偡傞妱崬傒僴儞僪儔斣崋(inhno)偼丄KS32C50100 偱廃曈儌僕儏乕
儖枅偵掕媊偝傟偰偄傞妱傝崬傒斣崋偱偁傞丏LH79532 偱偼妱崬傒僐儞僩儘乕儔
偺奺僠儍僱儖斣崋偱偁傞丅僨乕僞宆(INHNO)偼 unsigned int宆偵掕媊偝傟偰偄
傞丅
2.3 CPU椺奜娗棟婡擻偲CPU椺奜僴儞僪儔
DEF_EXC 偱巜掕偡傞妱崬傒僴儞僪儔斣崋(excno)偼丄ARMv4 偱掕媊偝傟偰偄傞丆
椺奜梫場偱偁傞丏偦偺僨乕僞宆(EXCNO)偼 unsigned int 宆偵掕媊偝傟偰偄傞丅
DEF_EXC 偱丄椺奜僐乕僪斣崋偲偟偰桳岠偱側偄抣傗丄CPU椺奜偵懳墳偟側偄斣崋
傪巜掕偟偨応崌偺摦嶌偼曐徹偝傟側偄丅
CPU椺奜僴儞僪儔偵搉偝傟傞p_excinf偼丆CPU椺奜敪惗帪偺僐儞僥僉僗僩傪曐懚
偟偨僗僞僢僋傊偺億僀儞僞偑搉偝傟傞丏僗僞僢僋偺峔憿傪埲壓偵帵偡丏
----------------------
| CPSR | <-- p_excinf
----------------------
| R0 |
----------------------
| R1 |
----------------------
| R2 |
----------------------
| R3 |
----------------------
| ip |
----------------------
| lr |
----------------------
| PC |
----------------------
2.4 僗僞乕僩傾僢僾儌僕儏乕儖
ARMv4 埶懚偺僗僞乕僩傾僢僾儌僕儏乕儖(start.S)偱偼丄師偺弶婜壔張棟傪峴偆丅
(A) 僾儘僙僢僒儌乕僪偺弶婜壔偲僗僞僢僋億僀儞僞偺弶婜壔
嵟弶偵丄僾儘僙僢僒儌乕僪傪僗僷乕僶僀僓乕儌乕僪(SVC)丄IRQ,FIQ妱崬傒傪嬛巭
偵偡傞丏
師偵丄僗僞僢僋億僀儞僞(sp)傪 STACKTOP 偵愝掕偡傞丅偙偙偱妱崬傒僗僞僢
僋億僀儞僞偵愝掕偝傟偨僗僞僢僋椞堟偼丄僇乕僱儖婲摦屻偼旕僞僗僋僐儞僥僉
僗僩梡偺僗僞僢僋椞堟偲偟偰巊傢傟傞丅STACKTOP 偼丄sys_config.h 晹偱掕媊
偡傞偙偲傪憐掕偟偰偄傞丅
(B) hardware_init_hook 偺屇弌偟
hardware_init_hook 偑 0 偱側偄応崌偵偼丄hardware_init_hook 傪屇傃弌偡丅
hardware_init_hook 偼丄僇乕僱儖偑婲摦偝傟傞慜偵峴偆昁梫偑偁傞僞乕僎僢
僩埶懚偺弶婜壔傪峴偆偨傔偵梡堄偟偰偄傞丅hardware_init_hook 偑偳偙偱傕
掕媊偝傟偰偄側偄応崌丄儕儞僇偱偙偺僔儞儃儖傪 0 偵掕媊偡傞(儕儞僇僗僋
儕僾僩撪偵婰弎偁傝)丅
(C) bss僙僋僔儑儞偲 data僙僋僔儑儞偺弶婜壔
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.1 僔僗僥儉僋儘僢僋僪儔僀僶
僔僗僥儉僋儘僢僋僪儔僀僶偑 isig_tim 傪屇傃弌偡廃婜偼丄sys_defs.h 拞偺
TIC_NUME 偲 TIC_DENO 偱掕媊偝傟偰偄傞(昗弨偼 1儈儕昩廃婜)丅偙偺掕媊
傪曄峏偡傞偙偲偱丄isig_tim 傪屇傃弌偡廃婜傪曄峏偡傞偙偲偑偱偒傞丅偨偩
偟丄僞僀儅偺惛搙偑 1兪昩偱偁傞偨傔丄1兪昩扨埵偱抂悢偵側傞抣傪愝掕偟偨
応崌偵偼丄isig_tim 偺屇弌偟廃婜偵岆嵎偑惗偠傞偙偲偵側傞丅
3.2 惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻
ARMv4 埶懚晹偱偼丄惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻(vxget_tim)傪僒億乕僩偟
偰偄傞丅惈擻昡壙梡僔僗僥儉帪崗偺惛搙偼 1兪昩扨埵偱偁傞偑丄僞僀儅偺尰嵼抣
傪撉傒弌偡偨傔偵堦帪揑偵僞僀儅傪掆巭偝偣傞昁梫偑偁傞偨傔丄vxget_tim 傪屇
傇搙偵僔僗僥儉僋儘僢僋偑彮偟偯偮抶傟傞偙偲偵側傞丅側偍丄SYSUTIM宆偼 UD宆
(64價僢僩偺晞崋柍偟惍悢宆)偵掕媊偟偰偄傞丅
3.3 僔儕傾儖僀儞僞僼僃乕僗僪儔僀僶
Integrator 埶懚晹偱偼丆Intergrator/AP忋偺 UART 傪僒億乕僩偟偰偄傞丏
係丏奐敪娐嫬偺峔抸
奐敪娐嫬偺峔抸曽朄偵偮偄偰偼丆GNU奐敪娐嫬峔抸儅僯儏傾儖傪嶲徠偺偙偲丏
4.1 奐敪娐嫬偺僶乕僕儑儞
摦嶌妋擣偟偨僣乕儖偺僶乕僕儑儞偼埲壓偺捠傝偱偁傞丏
BINUTILS : 2.11.2
GCC-CORE : 3.0.2
GDB : 5.0
NEWLIB : 1.9.0
傕偟偔偼
BINUTILS : 2.14
GCC-CORE : 3.3
GDB : 5.3
NEWLIB : 1.11.0
4.2 僣乕儖僜乕僗偺廋惓
忋婰偺僶乕僕儑儞偺僣乕儖傪峔抸偡傞偝偄埲壓偺廋惓偑昁梫偲側傞丏
4.2.1 GDB
./gdb/rdi-share/devsw.c
39峴栚丆69峴栚 偺struct tm lm偺愰尵偟偰偄傞峴傪僐儊儞僩傾僂僩偡傞丏
4.3 GDB僗僞僽偵傛傞僾儘僌儔儉偺僟僂儞儘乕僪
儂僗僩PC偲儃乕僪傪僔儕傾儖働乕僽儖偱宷偓丆gdb偵僟僂儞儘乕僪偟偨偄
僾儘僌儔儉傪巜掕偡傞丏
師偵埲壓偺僐儅儞僪傪幚峴偡傞丏ttySXX偺XX偼僔儕傾儖傪愙懕偟偰偄
傞億乕僩斣崋偱偁傞丏
set remotebaud 57600
set endian little
set rdi /dev/ttySXX
屻偼丆load偱僾儘僌儔儉傪僟僂儞儘乕僪偟偰丆continue偱幚峴偡傞丏
傑偨丆Ctrl-C偱摦嶌拞偺僾儘僌儔儉傪掆巭偱偒傞丏
俆丏偦偺懠
5.1 僨傿儗僋僩儕丒僼傽僀儖峔惉
ARMv4 僞乕僎僢僩埶懚晹偺奺僼傽僀儖偺奣梫偼師偺捠傝丏
config/armv4/
Makefile.config Makefile偺ARMv4埶懚掕媊
armelf.ld 價僢僌僄儞僨傿傾儞梡儕儞僇僗僋儕僾僩
armv4.h ARMv4偺掕媊
cpu_config.c 僾儘僙僢僒埶懚晹偺娭悢
cpu_config.h 僾儘僙僢僒埶懚晹偺峔惉掕媊
cpu_context.h 僐儞僥僉僗僩憖嶌
cpu_defs.h 僾儘僙僢僒埶懚晹偺傾僾儕働乕僔儑儞梡掕媊
cpu_insn.h 掅儗儀儖偺僾儘僙僢僒憖嶌儖乕僠儞
cpu_rename.def 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉掕媊
cpu_rename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉
cpu_support.S 僾儘僙僢僒埶懚晹偺僒僽儖乕僠儞
cpu_unrename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉夝彍
makeoffset.c offset.h 惗惉僒億乕僩僾儘僌儔儉
start.S 僗僞乕僩傾僢僾儌僕儏乕儖
tool_config.h 奐敪娐嫬埶懚晹偺峔惉掕媊乮GNU奐敪娐嫬梡乯
tool_defs.h 奐敪娐嫬埶懚晹偺傾僾儕働乕僔儑儞梡掕媊乮GNU奐敪娐嫬梡乯
config/armv4/integrator
Makefile.config Makefile偺 Integrator 埶懚掕媊
hw_serial.cfg SIO僪儔僀僶偺僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖
hw_serial.h SIO僪儔僀僶
hw_timer.h 僞僀儅憖嶌儖乕僠儞
integrator.c Integrator 僴乕僪僂僃傾憖嶌娭悢
integrator.h Integrator 僴乕僪僂僃傾掕媊
integrator.ld Integrator 儕儞僇僗僋儕僾僩
sys_config.c 僔僗僥儉埶懚晹偺娭悢
sys_config.h 僔僗僥儉埶懚晹偺峔惉掕媊
sys_defs.h 僔僗僥儉埶懚晹偺傾僾儕働乕僔儑儞梡掕媊
sys_rename.def 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉掕媊
sys_rename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉
sys_support.S 僔僗僥儉埶懚晹偺僒僽儖乕僠儞
sys_unrename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉夝彍
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -