Vxworks的文档Word下载.docx
- 文档编号:17380848
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:27
- 大小:50.46KB
Vxworks的文档Word下载.docx
《Vxworks的文档Word下载.docx》由会员分享,可在线阅读,更多相关《Vxworks的文档Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
1.导入:
在tornado下新建一个VxWorks工程,在Step2选择从BSP导入。
2.Tornado/Target/Config/All目录下的文件
Config_all.h文件:
所有VxWorks映像的默认配置。
该配置可以被BSP中的config.h修改。
BootConfig.c文件:
引导ROM映像的主初始化。
Tornado下Build菜单选择BuildBootROM生成bootrom文件时需要此文件。
BootInit.c文件:
ROM初始化的第二阶段。
生成bootrom文件时需要此文件。
在romInit.s后,完成BootROM的第二步初始化.程序从romInit.s中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROMimage的放置.
bootConfig.c:
完成BootROMimage的初始化和控制.
usrConfig.c:
VxWorksimage的初始化代码.
3.Tornado/Target/Config/Comps/VxWorks目录下的文件
此目录下的文件是VxWorks内核的基本组件的描述文件(CDF)
4.Tornado/Target/Config/Comps/Src目录下的文件
此目录下的文件包括与内核组件相关的配置文件
5.Tornado/Target/Config/ads827x
该目录下包含了有关mpc8272的BSP系统和依赖文件
readme文件:
该BSP的版本信息和补丁描述。
Makefile文件:
重要,编译控制文件,注意:
对该文件不需要手动修改,可以通过Tornado对该工程进行配置自动生成。
注意对关键的硬件配置的修改(Tornado下Build属性中的Marco可以修改)。
注意,实际使用的是prj目录下的makefile文件,以下为一些重要的宏说明
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CPU=PPC603CPU的体系
TOOL=diab编译连接工具
TOOL_FAMILY=diab工具体系
DEFAULT_RULE=vxWorks默认的生成规则
AR=darC库生成器*.a
AS=dcc汇编编译器
BOOT_EXTRA=
CC=dccC编译器
CC_ARCH_SPEC=C语言的CPU参数
CFLAGS=C语言编译参数
CFLAGS_AS=汇编语言编译参数
EXTRA_MODULES=外部依赖模块
EXTRA_OBJS=外部依赖的OBJ文件
LD=链接器
LDFLAGS=链接参数
LD_LINK_PATH=CPU库路径
RAM_HIGH_ADRS=00d00000引导ROM映像将要复制倒内存中的地址
RAM_LOW_ADRS=00010000VxWorks内核将要复制到内存中的地址
ROM_LINK_ADRS=fff00000
ROM_WARM_ADRS=fff00108CPU热启动时ROM的入口地址
SIZE=sizeppc生成的映像大小计算工具
USR_ENTRY=usrInit用户程序进入点(main函数)
//以下的宏只有在选择rom编译规则时存在
ROM_LINK_ADRS=fff00000ROM的连接起始地址,如果不定义使用ROM_TEXT_ADRS作为起始地址,前0x100为硬件配置字等。
实际程序入口在0x100处
ROM_SIZE=00100000ROM的大小
ROM_TEXT_ADRS=fff00100ROM入口地址_start:
标号处,偏移0x100
depend.ads827x文件:
BSP依赖文件,自动生成。
Config.h文件:
重要,该文件包含着板的硬件配置。
需要修改。
以下为一些配置的说明
#defineOSCILLATOR_FREQ100000000//CPU时钟频率
#defineBRGCLK_DIV_FACTOR1//波特率产生器的预分频系数
#defineM8260_BRGC_DIVISOR1//波特率产生器的预分频系数
#defineINCLUDE_MMU_BASIC//是否使能内存管理单元
#ifdefINCLUDE_MMU_BASIC
#defineUSER_I_MMU_ENABLE//使能指令内存管理单元
#defineUSER_D_MMU_ENABLE//使能数据内存管理单元
#endif
#defineINCLUDE_CACHE_SUPPORT//使能高速缓存
#ifdefINCLUDE_CACHE_SUPPORT
#defineUSER_D_CACHE_ENABLE//使能数据高速缓存
/*Doesnothingaboutcopybackvswritethroughinh/w,mustusesysPhysMemDesc*/
#undefUSER_D_CACHE_MODE
#defineUSER_D_CACHE_MODECACHE_COPYBACK
#defineUSER_I_CACHE_ENABLE//使能指令高速缓存
#undefUSER_I_CACHE_MODE
#defineUSER_I_CACHE_MODECACHE_COPYBACK
#undefNUM_TTY
#defineNUM_TTYN_SIO_CHANNELS/*definedinads827x.h*/系统终端个数
#undefINCLUDE_TFFS//不使用dosFs文件系统
#ifdefINCLUDE_TFFS
#defineINCLUDE_DOSFS/*dosFsfilesystem*/
#defineINCLUDE_SHOW_ROUTINES/*showroutinesforsystemfacilities*/
#defineSYS_CLK_RATE_MIN1//最小系统时钟速率
#defineSYS_CLK_RATE_MAX8000//最大系统时钟速率
#defineAUX_CLK_RATE_MIN1//最小系统辅助时钟速率
#defineAUX_CLK_RATE_MAX8000//最大系统辅助时钟速率
/*
*DRAMrefreshfrequency-ThismacrodefinestheDRAMrefreshfrequency.
*e.i:
ADRAMwith1024rowstorefreshin16ms:
*DRAM_REFRESH_FREQ=1024/16E-3=64E3hz
*/
#defineDRAM_REFRESH_FREQ64000//内部RAM刷新频率
#defineINCLUDE_SECURITY_ENGINE//使能安全技术
//#defineINCLUDE_PCI//使能PCI功能
#ifdefINCLUDE_NETWORK//是否包含网络功能
#defineINCLUDE_MOTFCCEND//使能FCC驱动
#ifdefINCLUDE_MOTFCCEND
#ifndefINCLUDE_END
#defineINCLUDE_END/*onlyEND-styledriverforFCC*/
#endif/*INCLUDE_END*/
#endif/*INCLUDE_MOTFCCEND*/
#defineINCLUDE_FCC1/*primary*/使能第一个FCC网口
#defineINCLUDE_FCC2使能第二个FCC网口
#undefINCLUDE_FCC3/*notavailable*/
#undefINCLUDE_FCC4/*notavailable*/
#defineINCLUDE_FLASH//使能flash
#ifdefINCLUDE_FLASH
#defineFLASH_ADRS_8M0xff800000/*baseaddressof8Megflash*/
#defineFLASH_ADRS_16M0xff000000/*baseaddressof16Megflash*/
#defineFLASH_ADRS_32M0xfe000000/*baseaddressof32Megflash*/
#defineFLASH_BASE_ADRSFLASH_ADRS_8MFlash基地址
#defineFLASH_ADRS0xffec0000
#defineFLASH_BLOCK_SIZE0x40000//flash块大小
#defineFLASH_BOOTLINE_OFFSET0x0
#defineFLASH_WIDTH4//flash位数字节数32bit
#defineFLASH_SIZE0x800000flash大小
#defineFLASH_SIZE_WRITEABLE256flash最大访问字节数
#defineSYS_FLASH_TYPEFLASH_28F016flash的类型定义
/*Memoryaddresses*/
#defineLOCAL_MEM_SIZE0x04000000本地RAM大小
#defineLOCAL_MEM_LOCAL_ADRS0x00000000RAM基地址
#defineROM_BASE_ADRS0xfff00000ROM基地址
#defineROM_TEXT_ADRSROM_BASE_ADRS+0x100ROM进入点
#defineROM_SIZE0x100000ROM大小
#defineROM_WARM_ADRS(ROM_TEXT_ADRS+8)CPU热启动进入点
/*RAMaddressforROMboot*/
#defineRAM_HIGH_ADRS(LOCAL_MEM_LOCAL_ADRS+0x00d00000)
//引导程序(BOOT)从ROM中要复制到RAM的内存地址
/*RAMaddressforsysimage*/
#defineRAM_LOW_ADRS(LOCAL_MEM_LOCAL_ADRS+0x00010000)
//VxWorks内核从ROM中要复制到RAM的内存地址
/*HardResetConfigurationWords*/
//硬件复位配置字
#defineHRCW_BYTE_00x0C/*32bitbootport,MSR(IP)=1*/
#defineHRCW_BYTE_10x72/*IMMR[0-14]=0x0F00_0000,noL2cachesignals*/
#defineHRCW_BYTE_20x36/*bit[20:
21]LBPC=01,setlocalbusasPCIbus*/
#defineHRCW_BYTE_30x5A/*bit[26]ALD_EN=1*/
#defineDEFAULT_POWER_MGT_MODEVX_POWER_MODE_DISABLE
//电源管理模式
//以下为ads827x.h中的一些宏定义
#defineM82XX_STANDARD_DPRAM_START0x100系统内部内存池在内部RAM中的起始地址
#defineM82XX_STANDARD_DPRAM_LIMIT0x1000系统内部内存池大小
#defineM82XX_FCC_DPRAM_START0x1000FCC内存块在DPRAM中的起始地址
#defineM82XX_FCC_DPRAM_LIMIT0x2000FCC内存块的大小(BD包?
)
NV_RAM的配置
#undefBOOT_LINE_SIZE
#defineBOOT_LINE_SIZE256保留给VXWorks引导行使用的NVRAM字节数
#undefNV_RAM_SIZE
#defineNV_RAM_SIZE256NVRAM的大小
#defineNV_RAM_SIZE_WRITEABLENV_RAM_SIZE/*forceVTStoonlyuse128bytes*/最大访问的字节数
#defineNV_RAM_READ(x)sysNvRead(x)NV_RAM读函数
#defineNV_RAM_WRITE(x,y)sysNvWrite(x,y)写函数
#undefCPU
#defineCPUPPC603/*CPUtype*/
#defineN_SIO_CHANNELS2串口IO通道/*No.serialI/Ochannels*/
/*definethedecrementerinputclockfrequency*/
#defineDEC_CLOCK_FREQOSCILLATOR_FREQ预分频输入频率(是否与预分频中断有关?
//根据硬件配置字决定启动的内存映射基地址()
#if((HRCW_BYTE_1&
0x07)==0)
#defineRST_INTERNAL_MEM_MAP_ADDR0x00000000
#elif((HRCW_BYTE_1&
0x07)==1)
#defineRST_INTERNAL_MEM_MAP_ADDR0x00F00000
0x07)==2)
#defineRST_INTERNAL_MEM_MAP_ADDR0x0F000000
0x07)==3)
#defineRST_INTERNAL_MEM_MAP_ADDR0x0FF00000
0x07)==4)
#defineRST_INTERNAL_MEM_MAP_ADDR0xF0000000
0x07)==5)
#defineRST_INTERNAL_MEM_MAP_ADDR0xF0F00000
0x07)==6)
#defineRST_INTERNAL_MEM_MAP_ADDR0xFF000000
0x07)==7)
#defineRST_INTERNAL_MEM_MAP_ADDR0xFFF00000
#defineINTERNAL_MEM_MAP_SIZE0x00020000/*128Kbytes*/内部RAM大小
#defineIMMR_OFFSET0x01a8/*offsetfromSIUbase*/
IMMR寄存器的偏移地址相对于IMMR的基地址0xf0010000
#defineIMMR_ISB_MASK0xfffe0000/*InternalSpaceBasemask*/
#defineIMMR_PARTNUM_MASK0x0000ff00/*PartNumbermask*/
#defineIMMR_MASKNUM_MASK0x000000ff/*MaskNumbermask*/
#defineDPRAM1_SIZE0x00004000/*16KbytesofDPRAMinbank1*/
/*BoardStatusandControlRegisters-uniquetoADS*/
//CPLD的设置
#defineBCSR_BASE_ADRS0x04500000/*BCSRbaseaddress*/
#defineBCSRS_SIZE0x00008000/*32Kofaddressspace*/
#defineBCSRS_MASK~(BCSRS_SIZE-1)/*set32KmaskforBCSRs*/
//BCSR的寄存器地址配置
#ifdef_ASMLANGUAGE
#defineBCSR0BCSR_BASE_ADRS/*Register0*/
#defineBCSR1BCSR_BASE_ADRS+0x04/*Register1*/
#defineBCSR2BCSR_BASE_ADRS+0x08/*Register2*/
#defineBCSR3BCSR_BASE_ADRS+0x0c/*Register3*/
#defineBCSR2_BREVN_MASK0x00000f00/*Boardrevisionnumber*/
#else
#defineBCSR0((uint32_t*)(BCSR_BASE_ADRS))/*Register0*/
#defineBCSR1((uint32_t*)(BCSR_BASE_ADRS+0x04))/*Register1*/
#defineBCSR2((uint32_t*)(BCSR_BASE_ADRS+0x08))/*Register2*/
#defineBCSR3((uint32_t*)(BCSR_BASE_ADRS+0x0c))/*Register3*/
#endif/*_ASMLANGUAGE*/
/*CPUtypeinthePVR*/
CPU的类型码,用于CPU类型判别
#defineCPU_TYPE_82600xAAAA/*valueforPPC8260*/
#defineCPU_TYPE_82660xBBBB/*valueforPPC8266*/
#defineCPU_REV_A1_MASK_NUM0x0010/*revisionmasknum*/
#defineHIP4_ID0x80810000/*deviceIDviaPVR*/
#defineHIP4_MASK0xFFFF0000/*maskupperword*/
#defineHIP7_ID0x80820000
//各种参数在CPM静态RAM(16K)中的偏移地址
#defineSCC1_PRAM(INTERNAL_MEM_MAP_ADDR+0x8000)
#defineSCC2_PRAM(INTERNAL_MEM_MAP_ADDR+0x8100)
#defineSCC3_PRAM(INTERNAL_MEM_MAP_ADDR+0x8200)
#defineSCC4_PRAM(INTERNAL_MEM_MAP_ADDR+0x8300)
#defineFCC1_PRAM(INTERNAL_MEM_MAP_ADDR+0x8400)
#defineFCC2_PRAM(INTERNAL_MEM_MAP_ADDR+0x8500)
#defineFCC3_PRAM(INTERNAL_MEM_MAP_ADDR+0x8600)
#defineMCC1_PRAM(INTERNAL_MEM_MAP_ADDR+0x8700)
#defineSMC1_BASE(INTERNAL_MEM_MAP_ADDR+0x87FC)
#defineIDMA1_BASE(INTERNAL_MEM_MAP_ADDR+0x87FE)
#defineMCC2_P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vxworks 文档