📄 sys_support.c
字号:
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2001-2004 by Industrial Technology Institute, * Miyagi Prefectural Government, JAPAN * Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN * * 惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation * によって给山されている GNU General Public License の Version 2 に淡 * 揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア * を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· * 网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 * 脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 * 荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 * の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 * 脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ * とˉ * (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 * 侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに * 鼠桂することˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お * よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ * *//* * タ〖ゲットシステム巴赂モジュ〖ル * (臭)面丙澜侯疥澜μITRON烹很SH1CPUボ〖ド脱 */ #include <s_services.h>#include "kernel_id.h"#include <sh1.h>#include "sys_support.h"/* * TINET蝗脱箕 */#ifdef SUPPORT_INET4#include <sh1_sil.h>#include <tinet_sys_config.h>/* * NIC (RTL8019AS) に簇する年盗 * TINET蝗脱箕tinet_sys_config.h へ败瓢すること *//*#define ED_BASE_ADDRESS 0x06000000 */ /* NIC のレジスタベ〖スアドレス *//*#define INHNO_IF_ED IRQ5 */ /* IRQ5 *//*#define ED_PRI 7 */ /* 庭黎刨=7 *//*#define ED_LEVEL0 0 */ /* 充哈み敦贿 *//*#define ED_IPR IPRB */ /* 庭黎刨レジスタ叹 *//*#define ED_IPR_SHIFT 8 */ /* 庭黎刨レジスタ柒ビット疤弥 */#endif /* SUPPORT_INET4 *//* * ROMICE蝗脱のNMIまでのROMベクタテ〖ブル挝拌 */#define ROMVECT_START 0 /* ROMのベクタテ〖ブルは0戎孟から */#define ROMVECT_SIZE ((NMI+1)*sizeof(FP)) /* ROMのベクタテ〖ブルサイズ *//* * 你レベルのタ〖ゲットシステム巴赂の介袋步 _hardware_init_hook * * スタ〖トアップモジュ〖ルの面で·メモリの介袋步の涟に钙び叫されるˉ */voidhardware_init_hook(void){ /* WCR3:ウエイトコントロ〖ルレジスタ3 * WPU=1 WAIT眉灰プルアップ * A02LW=00 エリア0,2を1庅庉幐庌幊帾幉幠 * A6LW=00 エリア6 を1庅庉幐庌幊帾幉幠 */ sil_wrh_mem(BSC_WCR3, 0x8000); /* BCR:バスコントロ〖ルレジスタ * DRANE=0 幋庁幈1は嘲婶メモリ鄂粗 * IOE=0 幋庁幈6は嘲婶メモリ鄂粗 * WARP=0 幧幇幭庂幱幇幠庌:嘲婶幈幐幘幗と柒婶幈幐幘幗を票箕に乖わない * RDDTY=0 RD慨规HI T1の50% * BAS=0 WRH,WRL,A0慨规铜跟 */ sil_wrh_mem(BSC_BCR, 0x0000); /* WCR1:ウエイトコントロ〖ルレジスタ1 * read cycle stateで * wait眉灰サンプルしない * RWx=0 エリア1,3,4,5,7 1幗幟幇幠盖年 * RWx=0 エリア0,2,6 1幗幟幇幠+庅庉幐庌幊帾幉幠∈纷3幗幟幇幠∷ * WW1=1 エリア1嘲婶幰幱庁 2幗幟幇幠 */ sil_wrh_mem(BSC_WCR1, 0x00ff); /* WCR2:ウエイトコントロ〖ルレジスタ2 * DMAないので介袋猛のまま */ sil_wrh_mem(BSC_WCR2, 0xffff); /* * PA、PB叫蜗バッファ介袋步 */ sil_wrh_mem(PA_DR, VAL_PA_DR); sil_wrh_mem(PB_DR, VAL_PB_DR); /* * PA掐叫蜗介袋步∈sys_support.h徊救∷ */ sil_wrh_mem(PFC_PACR1, VAL_PFC_PACR1); sil_wrh_mem(PFC_PACR2, VAL_PFC_PACR2); sil_wrh_mem(PFC_PAIOR, VAL_PFC_PAIOR); sil_wrh_mem(PFC_PBCR1, VAL_PFC_PBCR1); sil_wrh_mem(PFC_PBCR2, VAL_PFC_PBCR2); sil_wrh_mem(PFC_PBIOR, VAL_PFC_PBIOR); sil_wrh_mem(PFC_CASCR, VAL_PFC_CASCR);}/* * ソフトウェア茨董∈泼にライブラリ∷に巴赂して涩妥な介袋步借妄 software_init_hook * * スタ〖トアップモジュ〖ルの面で·カ〖ネルを弹瓢する涟に钙び叫されるˉ */#ifdef PARTNERvoidsoftware_init_hook(void){ /* * ROMICE蝗脱箕にROMベクタテ〖ブルを啪流 */ extern FP vector_table[]; memcpy(vector_table, ROMVECT_START, ROMVECT_SIZE);}#endif/* * NIC ハ〖ドウェア充り哈み钓材 * TINET蝗脱箕涩妥 */#ifdef SUPPORT_INET4voided_ena_inter(void){ SIL_PRE_LOC; SIL_LOC_INT(); define_int_plevel(ED_IPR, ED_PRI, ED_IPR_SHIFT);// 庭黎刨=ED_PRI SIL_UNL_INT();}/* * NIC ハ〖ドウェア充り哈み敦贿 * TINET蝗脱箕涩妥 */voided_dis_inter(void){ SIL_PRE_LOC; SIL_LOC_INT(); define_int_plevel(ED_IPR, ED_LEVEL0, ED_IPR_SHIFT);// 庭黎刨=0 SIL_UNL_INT();}#endif /* SUPPORT_INET4 *//* end */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -