📄 nios2.txt
字号:
亖 TOPPERS/JSP僇乕僱儖 儐乕僓僘儅僯儏傾儖 亖
乮Nios2 僞乕僎僢僩埶懚晹乯
乮Release 1.4.2 懳墳丆嵟廔峏怴: 11-Jul-2005乯
乮NiosII Development Kit 5.0懳墳乯
------------------------------------------------------------------------
TOPPERS/JSP Kernel
Toyohashi Open Platform for Embedded Real-Time Systems/
Just Standard Profile Kernel
Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
Graduate School of Information Science, Nagoya Univ., JAPAN
忋婰挊嶌尃幰偼丆埲壓偺 (1)乣(4) 偺忦審偐丆Free Software Foundation
偵傛偭偰岞昞偝傟偰偄傞 GNU General Public License 偺 Version 2 偵婰
弎偝傟偰偄傞忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃傾
傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
(1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
(2) 杮僜僼僩僂僃傾傪丆儔僀僽儔儕宍幃側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒傞宍偱嵞攝晍偡傞応崌偵偼丆嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡
幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰
偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(3) 杮僜僼僩僂僃傾傪丆婡婍偵慻傒崬傓側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒側偄宍偱嵞攝晍偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙
偲丏
(a) 嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊
嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(b) 嵞攝晍偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆TOPPERS僾儘僕僃僋僩偵
曬崘偡傞偙偲丏
(4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
奞偐傜傕丆忋婰挊嶌尃幰偍傛傃TOPPERS僾儘僕僃僋僩傪柶愑偡傞偙偲丏
杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偍
傛傃TOPPERS僾儘僕僃僋僩偼丆杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕
娷傔偰丆偄偐側傞曐徹傕峴傢側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈
愙揑傑偨偼娫愙揑偵惗偠偨偄偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
@(#) $Id: nios2.txt,v 1.1 2006/04/14 02:46:19 9564907 Exp $
------------------------------------------------------------------------
侾丏Nios2 僞乕僎僢僩埶懚晹偺奣梫
1.1 僞乕僎僢僩僔僗僥儉
Nios2 僾儘僙僢僒偺僞乕僎僢僩僔僗僥儉偲偟偰偼丆Nios2 偑僒億乕僩偟偰傞
FPGA 傪搵嵹偟偨僔僗僥儉傪僒億乕僩偟偰偄傞丏側偍丆JSP僇乕僱儖傪摦嶌偝偣
傞偵偼丆64Kbyte掱搙偺儊儌儕偲丆昗弨偺TIMER偲UART偑偦傟偧傟1偮昁梫偱偁
傞丏僔僗僥儉埶懚晹偲偟偰埲壓偺儃乕僪傪僒億乕僩偟偰偄傞丏
丒NiosII Development Board Cyclone/Stratix/Stratix Professional Edition
側偍丆偙傟傜偺儃乕僪傪巊梡偡傞偡傞嵺偵偼丆儃乕僪偵晅懏偡傞僨僓僀儞椺偺
Standard傕偟偔偼Full Featured 傪FPGA偵幚憰偡傞昁梫偑偁傞丏
1.2 奐敪娐嫬
奐敪娐嫬偵偼丆NiosII Development Kit偵娷傑傟偰偄傞 GCC 側偳偺 GNU奐敪
娐嫬傪梡偄丆僆僽僕僃僋僩僼傽僀儖僼僅乕儅僢僩偼 ELF 傪昗弨偲偡傞丏
僇乕僱儖偺僐儞僷僀儖媦傃僟僂儞儘乕僪偼Eclipse傪梡偄偢僐儅儞僪儔僀儞
(Cygwin傕偟偔偼NiosII SDK Shell)偐傜峴偆丏
僇乕僱儖偺峔抸偵偼GUN奐敪娐嫬偺懠偵丆make 傗 perl 偑昁梫偲側傞丏偦偺偨
傔丆Windows偱偼QUARTUS偵晅懏偟偰偄傞Cygwin娐嫬傕偟偔偼僲乕儅儖Cygwin娐
嫬偑昁梫偲側傞丏QUARTUS偵晅懏偟偰偄傞Cygwin娐嫬偼丆堦晹偺perl儔僀僽儔
儕傪帩偨側偄偨傔丆僇乕僱儖偺峔抸偵昁梫偲側傞perl僗僋儕僾僩偵僷僢僠傪摉
偰傞昁梫偑偁傞丏嬶懱揑偵偼 ./utils/makedep 偺40峴栚偵偁傞
#require "getopt.pl";
傪嶍彍偟丆戙傢傝偵埲壓偺娭悢傪捛壛偡傞丏
sub Getopt {
local($argumentative) = @_;
local($_,$first,$rest);
local($[) = 0;
while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
($first,$rest) = ($1,$2);
if (index($argumentative,$first) >= $[) {
if ($rest ne '') {
shift(@ARGV);
}
else {
shift(@ARGV);
$rest = shift(@ARGV);
}
${"opt_$first"} = $rest;
}
else {
${"opt_$first"} = 1;
if ($rest ne '') {
$ARGV[0] = "-$rest";
}
else {
shift(@ARGV);
}
}
}
}
1.2 僔僗僥儉峔惉
捠忢偺僞乕僎僢僩偺応崌偼丆./config 埲壓偱
乮僾儘僙僢僒乯/乮僞乕僎僢僩儃乕僪1乯
/乮僞乕僎僢僩儃乕僪2乯
偲偄偆峔惉偱僨傿儗僋僩儕偑嶌惉偝傟偰偍傝丆乮僾儘僙僢僒乯偼僾儘僙僢僒僐
傾傗僾儘僙僢僒僷僢働乕僕偄傢備傞IC偵僷僢働乕僕偝傟偨傕偺傪帵偟丆僾儘僙僢
僒埶懚晹偲屇傇丏乮僞乕僎僢僩儃乕僪乯偼偦偺IC傪搵嵹偟偨儃乕僪埶懚偺婡擻
偵偮偄偰偺僐乕僪傪抲偄偰偄傞応強偱僞乕僎僢僩埶懚晹偲屇傇丏堦曽
Nios2e 偼丆僔僗僥儉峔惉傪帺桼偵曄峏偱偒傞偨傔丆偙偺傛偆偵柧妋側愗傝暘
偗偼偱偒側偄丏偦偙偱丆JSP僇乕僱儖傪摦嶌偝偣傞偨傔偺昁梫嵟彫尷偺峔惉傪
僾儘僙僢僒埶懚晹偲偟偰乮僾儘僙僢僒乯偵抲偔丏僾儘僙僢僒埶懚晹偲偟偰偺丆
JSP僇乕僱儖傪摦嶌偝偣傞偨傔偺嵟彫峔惉傪埲壓偵帵偡丏
丒TIMER
丒UART
丒JTAG UART
UART偲JTAG UART偼攔懠揑偵巊梡壜擻偱偁傝丄僨傿僼僅儖僩偱偼UART傪巊梡偡
傞傛偆偵偟偰偄傞丅JTAG UART 傪巊梡偡傞応崌偼丄sys_defs.h 偱
USE_JTAG_UART 傪掕媊偡傞偙偲丏
偙傟埲奜偺婡擻偺僐乕僪偼僞乕僎僢僩埶懚晹偲偟偰丆乮僞乕僎僢僩儃乕僪乯埲
壓偺僨傿儗僋僩儕偵攝抲偡傞丏
攝晍僷僢働乕僕偵娷傑傟偰偄傞僞乕僎僢僩埶懚晹傪埲壓偵帵偡丏
丒./altera_dev_board
NiosII Development Board梡
1.3 僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞
怴偨側僔僗僥儉偱JSP僇乕僱儖傪摦嶌偝偣傞応崌偼丆揔摉側僞乕僎僢僩埶懚晹
偺僼傽僀儖傪儀乕僗偵僔僗僥儉峔惉偵偁傢偣偰彂偒姺偊傟偽傛偄丏
僔僗僥儉枅偵曇廤偡傞昁梫偑偁傞崁栚傪埲壓偵帵偡丏
丒./sys_defs.h
STACKTOP : 僗僞僢僋弶婜傾僪儗僗
TIMER_CLOCK : 僞僀儅乕僋儘僢僋
TIC_NUME : 僞僀儉僥傿僢僋廃婜偺暘巕
TIC_DENO : 僞僀儉僥傿僢僋廃婜偺暘曣
TIM_BASE : TIMER偺儀乕僗傾僪儗僗
UART_BASE : UART儀乕僗傾僪儗僗
TIM_INTLVL : TIMER偺妱崬傒斣崋
UART_INTLVL : UART偺妱崬傒斣崋
丒./Makefile.config
COPTS : 僐儞僷僀儖僆僾僔儑儞
LIBS : 儔僀僽儔儕巜掕
LDFLAGS : 儕儞僇僆僾僔儑儞
TEXT_START_ADDRESS : TEXT僙僋僔儑儞偺僗僞乕僩傾僪儗僗
DATA_START_ADDRESS : DATA僙僋僔儑儞偺僗僞乕僩傾僪儗僗
丒./nios2elf.l
椺奜偺僄儞僩儕僐乕僪偼丆.exception偵攝抲偡傞傛偆偵彂偐傟偰偄傞偨
傔丆儕儞僇僗僋儕僾僩偱偼丆偙偺僙僋僔儑儞傪惓偟偔僾儘僙僢僒偺椺奜
僄儞僩儕偵攝抲偡傞昁梫偑偁傞丏
1.4 僒億乕僩偡傞婡擻偺奣梫
Nios2 埶懚偺婡擻偲偟偰丆惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻乮vxget_tim乯傪
僒億乕僩偟偰偄傞丏妱崬傒偺嬛巭丒嫋壜(dis_int, ena_int)傪僒億乕僩偡傞丏
傑偨丆妱崬傒儅僗僋偺曄峏丒嶲徠(chg_ixx丆get_ixx)偼僒億乕僩偟偰偄側偄丏
1.5 惂尷帠崁
俀丏Nios2 僾儘僙僢僒埶懚晹偺婡擻
偙偺愡偱偼丆僇乕僱儖偍傛傃僔僗僥儉僒乕價僗偺婡擻偺拞偱丆Nios2 埶懚偺晹
暘偵偮偄偰夝愢偡傞丏
2.1 僨乕僞宆
signed int宆偍傛傃 unsigned int宆偺僒僀僘偼 32價僢僩偱偁傞丏
2.2 妱崬傒娗棟婡擻偲妱崬傒僴儞僪儔
DEF_INH 偱巜掕偡傞妱崬傒僴儞僪儔斣崋乮inhno乯偼丆SOPC Builder偱偵巜掕
偟偨妱崬傒斣崋傪昞偟丆偦偺僨乕僞宆乮INHNO乯偼 unsigned int宆偵掕媊偝傟
偰偄傞丏DEF_INH 偱丆妱崬傒桪愭搙偲偟偰桳岠偱側偄抣傗丆幚嵺偺妱崬傒桪愭
搙偲偼堎側傞斣崋傪巜掕偟偨応崌偺摦嶌偼曐徹偝傟側偄丏
2.4 僗僞乕僩傾僢僾儌僕儏乕儖
Nios2 埶懚偺僗僞乕僩傾僢僾儌僕儏乕儖乮start.S乯偱偼丆師偺弶婜壔張棟傪
峴偆丏
(A) 柦椷僉儍僢僔儏偺弶婜壔
柦椷僉儍僢僔儏傪幚憰偟偰偄傞応崌丆initi偱柦椷僉儍僢僔儏傪弶婜壔偡傞丏
(B) 僨乕僞僉儍僢僔儏偺弶婜壔
僨乕僞僉儍僢僔儏傪幚憰偟偰偄傞応崌丆initi偱柦椷僉儍僢僔儏傪弶婜壔偡傞丏
(C) 僗僞僢僋億僀儞僞偺弶婜壔偲僌儘乕僶儖億僀儞僞乕偺愝掕
僗僞僢僋億僀儞僞(sp)STACKTOP偵愝掕偟丆師偵僌儘乕僶儖億僀儞僞乕(gp)傪
_gp偱弶婜壔偡傞
(D) hardware_init_hook 偺屇弌偟
hardware_init_hook 偑 0 偱側偄応崌偵偼丆hardware_init_hook 傪屇傃弌偡丏
hardware_init_hook 偼丆僇乕僱儖偑婲摦偝傟傞慜偵峴偆昁梫偑偁傞僞乕僎僢
僩埶懚偺弶婜壔傪峴偆偨傔偵梡堄偟偰偄傞丏hardware_init_hook 偑偳偙偱傕
掕媊偝傟偰偄側偄応崌丆儕儞僇偱偙偺僔儞儃儖傪 0 偵掕媊偡傞乮儕儞僇僗僋
儕僾僩撪偵婰弎偁傝乯丏
(E) bss僙僋僔儑儞偺弶婜壔
bss僙僋僔儑儞傪僛儘僋儕傾偡傞丏側偍丆data僙僋僔儑儞偵偮偄偰偼丆RAM偺巊
梡検傪尭傜偡栚揑偱丆ROM壔偵懳墳偟偨弶婜壔偼峴偭偰偄側偄丏
(F) software_init_hook 偺屇弌偟
software_init_hook 偑 0 偱側偄応崌偵偼丆software_init_hook 傪屇傃弌偡丏
software_init_hook 偼丆僇乕僱儖偑婲摦偝傟傞慜偵峴偆昁梫偑偁傞僜僼僩僂僃
傾娐嫬乮嬶懱揑偵偼丆儔僀僽儔儕乯埶懚偺弶婜壔傪峴偆偨傔偵梡堄偟偰偄傞丏
software_init_hook 偑偳偙偱傕掕媊偝傟偰偄側偄応崌丆儕儞僇偱偙偺僔儞儃
儖傪 0 偵掕媊偡傞乮儕儞僇僗僋儕僾僩撪偵婰弎偁傝乯丏
(G) 僇乕僱儖偺婲摦
kernel_start 傊暘婒偟丆僇乕僱儖傪婲摦偡傞丏kernel_start 偐傜儕僞乕儞偟
偰偔傞偙偲偼憐掕偟偰偄側偄丏
2.5 惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻
Nios2 埶懚晹偱偼丆惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻乮vxget_tim乯傪僒億乕
僩偟偰偄傞丏惈擻昡壙梡僔僗僥儉帪崗偺惛搙偼僞僀儅偵嫙媼偡傞僋儘僢僋偵傛
偭偰寛傑傞丏側偍丆SYSUTIM宆偼 UD宆乮64價僢僩偺晞崋柍偟惍悢宆乯偵掕媊偟
偰偄傞丏
2.6 僔儕傾儖僀儞僞僼僃乕僗僪儔僀僶
Nios2 埶懚晹偺僔儕傾儖僀儞僞僼僃乕僗僪儔僀僶偼丆UART 傪僒億乕僩偟偰偄
傞丏僇乕僱儖偺儘僌弌椡偲偟偰巊梡偡傞丏巊梡偡傞UART偼偦偺傾僪儗僗傪
./sys_config.h 偱 UART_BASE 偲偟偰掕媊偡傞昁梫偑偁傞丏
俆丏偦偺懠
5.1 僨傿儗僋僩儕丒僼傽僀儖峔惉
Nios2 僞乕僎僢僩埶懚晹偺奺僼傽僀儖偺奣梫偼師偺捠傝丏
config/nios2/
Makefile.config Makefile 偺 Microblaze埶懚掕媊
cpu_defs.h 僾儘僙僢僒埶懚晹偺傾僾儕働乕僔儑儞梡掕媊
cpu_config.h 僾儘僙僢僒埶懚晹偺峔惉掕媊
cpu_config.c 僾儘僙僢僒埶懚晹偺娭悢
cpu_support.S 僾儘僙僢僒埶懚晹偺僒僽儖乕僠儞
cpu_context.h 僐儞僥僉僗僩憖嶌
makeoffset.c offset.h 惗惉僒億乕僩僾儘僌儔儉
cpu_insn.h 掅儗儀儖偺僾儘僙僢僒憖嶌儖乕僠儞
start.S 僗僞乕僩傾僢僾儌僕儏乕儖
cpu_rename.def 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉掕媊
cpu_rename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉
cpu_unrename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉夝彍
nios2.h Nios2 偺掕媊
nios2.c Nios2 梡僐乕僪
hw_serial.h SIO僪儔僀僶
hw_serial.cfg SIO僪儔僀僶偺僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖
hw_timer.h 僞僀儅憖嶌儖乕僠儞
tool_defs.h 奐敪娐嫬埶懚晹偺傾僾儕働乕僔儑儞梡掕媊乮GNU奐敪娐嫬梡乯
tool_config.h 奐敪娐嫬埶懚晹偺峔惉掕媊乮GNU奐敪娐嫬梡乯
config/nios2/altera_dev_board
Makefile.config Makefile 偺 MIREF 埶懚掕媊
nios3elf.l 儕儞僇僗僋儕僾僩
sys_defs.h 僔僗僥儉埶懚晹偺傾僾儕働乕僔儑儞梡掕媊
sys_config.h 僔僗僥儉埶懚晹偺峔惉掕媊
sys_config.c 僔僗僥儉埶懚晹偺娭悢
sys_support.S 僔僗僥儉埶懚晹偺僒僽儖乕僠儞
sys_rename.def 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉掕媊
sys_rename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉
sys_unrename.h 僇乕僱儖偺撪晹幆暿柤偺儕僱乕儉夝彍
5.2 僞乕僎僢僩傊偺僟僂儞儘乕僪偲幚峴
nios2-debug傪梡偄偨僟僂儞儘乕僪偺応崌丆偼JSP僇乕僱儖傪僐儞僷僀儖偟偨僨
傿儗僋僩儕偱埲壓偺僐儅儞僪傪幚峴偡傟偽傛偄丏側偍丆暋悢偺僟僂儞儘乕僪働
乕僽儖傪巊梡偟偰偄傞応崌偼丆--cable僆僾僔儑儞偱巊梡偡傞働乕僽儖傪巜掕
偡傞偙偲丏
>nios2-debug jsp
nios2-debug傪幚峴偡傞偲丆main偵僽儗乕僋億僀儞僩傪抲偄偰_start偐傜僾儘
僌儔儉傪幚峴偡傞僐儅儞僪傪 GDB 偵梌偊傞偑丆JSP僇乕僱儖偼偙傟傜偺僄儞僩
儕傪帩偨側偄偨傔丆GDB(Insight)偑婲摦偝傟偨屻丆Contitue傪慖戰偡傞偙偲偱
僇乕僱儖偺幚峴偑奐巒偝傟傞丏
5.3 僒億乕僩
僶僌摍傪敪尒偟偨応崌偼 toppers-users 偺 ML 偵曬崘傕偟偔偼丆Nios2 埶懚
晹偺奐敪幰偺埲壓偺儊乕儖傾僪儗僗偵楢棈偟偰捀偒偨偄
honda@ertl.jp
傑偨丆崱屻埲壓偺儁乕僕偱傕僒億乕僩傪峴偆梊掕偱偁傞丏
http://www.ertl.jp/~honda/nios2
埲忋
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -