版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、arm s3c44b0x vxworks 底层 bsp 开发yeahkai2006.08.31主要内容arm 体系结构 vxworks bsp bsp 开发过程调试经验开发工具hitool for armtornado 2.2 for armads 1.2 / gnu tool chain 串口调试助手ida 反编译工具开发文档 samsung s3c44b0x datasheet micetek ev44b0-ii 开发板硬件电路图tornado 帮助文档网卡 flash 、 ram 等 datasheet参考 bsp : wind river sbc arm7 bsp for samsun
2、gs ks32c50100 (s3c4510b)amine 思创黄金开发板 s3c44b0x vxworks bsp 移植笔记什么是 bspbsp board support package为vxworks提供与硬件环境的主要接口bsp 职责:上电硬件初始化为vxworks访问硬件提供支持在vxworks中集成与硬件相关以及硬件无关的软件bsp构成源文件、头文件、makefile文件派生文件二进制驱动模块文件vxworks bsp目录结构寄存器与主板配置: s3c44b0x.h wrsbcarm.h 时钟:sngks32ctimer.c中断: sngks32cintrctl.c串口:sysse
3、rial.c sngks32csio.c 系统库函数: syslib.c启动与初始化rominit.s (rominit()函数,上电后运行的第一个函数)bootinit.c (romstart(),完成从rom到ram的复制) 等网络:confignet.h lan91c111.c flash及tffs文件系统: systffs.c mbm29lv160te.c硬件环境ev44b0-ii 功能模块地址分配samsung 8m sdram8 段 led ( 0x6000000h )pdiusbd12lan91c113 10m/100m 网卡 s3c44b0x 内部寄存器mbm29lv160te
4、70 16m(1m*16)bit如何入手从最简单的程序开始跑马灯共阳极地址 0x6000000 mov r0,#0x600000 mov r1,#leddata str r1,r0; led_roll.s; roll led arm asm code for ads 1.2area led, code ;str led addr to r0ldr r0, =0x06000000loop;led show 0ldr r1, =0x12000000 str r1, r0; delay for some time ldr r1, =0x0000ffffdelay1subr1, r1, #1cmp r
5、1, #0bnedelay1;led offldr r1, =0xff000000str r1, r0;delay for some time ldr r1, =0x0000ffffdelay2subr1, r1, #1cmpr1, #0bnedelay2b loopendmakefile# makefile - test led project and show how to use makefile#*# display a hint of how to make first targetall:echo hint: you can type make led to build first
6、 target #*# compile and link led_out.s, then convert .axf - .bin file led:armasm led_roll.s -o led_roll.oarmlink -ro-base 0x0 -entry 0x0 led_roll.o -o led_roll.axf fromelf led_roll.axf -bin -output led_roll.bin#*# clean up all temp file except source file clean:rm -f *.o rm -f *.axf rm -f *.bin rm -
7、f *.elfmakefile 使用更详细的makefilerules说明请参考相关文档在 ads 里开发 arm 程序用 hitool 烧写入 flash单步调试逐渐深入arm 系统寄存器配置配置目的寄存器设置值禁止看门狗s3c44b0xwtcon0禁止中断s3c44b0x_intmsk0x07ffffff等待pll稳定时间 sbcarm7locktime0xffffin=10mhz fout=66mhzsbcarm7pllcon(m_div12)+(p_divfout = (8+ m_div)*fout/(2+p_div)*24)+s_div) pllset.exe所有单元时钟使能sbca
8、rm7clkcon0x7ff8存储器控制器 13个寄存器 stmia r0, r1-r13存储器控制器配置rom and ram configurationldr r0, =smrdataldmia r0, r1-r13ldr r0, =0x01c80000 ; bwscon addressstmia r0, r1-r13smrdata datadcd 0x11110090 ; bwscon;bank0=om1:0 bank1,47=16bit bank2,3=8bitdcd 0x00000600 ; gcs0;romdcd 0x00007ffc ; gcs1;lan91c113dcd 0x0
9、0007ffc ; gcs2;usbdcd 0x00007ffc ; gcs3;leddcd 0x00007ffc ; gcs4dcd 0x00007ffc ; gcs5dcd 0x00018000; gcs6, sdram(trcd=2,scan=8)dcd 0x00018000 ; gcs7,sdram(trcd=2,scan=8)dcd 0x00860000 + 1019 ; refresh(refen=1, trefmd=0, trp=2, trc=5, tchr=3,refcnt = 2048 + 1 - mclk(mhz) * 15.6*/)dcd 0x16 ;sclk power
10、 mode, bank6/7 memory map, 8mb/8mbdcd 0x20 ; mrsr 6(cl=2)dcd 0x20 ; mrsr 7(cl=2)开发顺序指导1.最基本的vxworks运行环境时钟、中断、串口2.修改makefile与config.h,不要牵涉过多的外围硬件3.依照datasheet定义cpu寄存器及系统配置参数头文件4.*从rominit开始按照vxworks启动顺序进行修改5.*修改时钟、中断、串口6.在tsfs加载启动后,在vxworks环境中调试其它硬件makefilecpu tool= armarch4= diabconfig_all = $(tgt_d
11、ir)configmicetek_s3c44b0xalltarget_dir = micetek_s3c44b0xvendor board= ioe_no1= s3c44b0xrom_text_adrs = 00000000 # rom entry addressrom_warm_adrs= 00000004 # rom warm entry addressrom_size = 00080000 # number of bytes of rom spaceram_low_adrs= 0c001000 #ram text/data address(bootrom)ram_high_adrs= 0
12、c500000 #ram text/data address(bootrom)mach_extra=#mach_extra= mbm29lv160te.o lan91c111end.oconfig.h#define default_boot_line tsfs(0,0) host:vxworks h=09 tn=micetek#define console_tty0#define console_baud_rate 38400#define include_tsfs_boot#define wdb_comm_type wdb_comm_serial#define wdb_
13、tty_baud38400#define wdb_tty_channel1#define wdb_tty_dev_name/tyco/1#undef include_flash #undef include_lcd #undef include_led #undef include_network #undef include_endvxworks启动顺序几个映像的概念vxworksvxworksbootimageimage(boot code)loadable imagesvxworksrom images“burned” intoram rom-based imagesrom or loa
14、ded- compressed/uncompressed. rom-resident o flash.vxwork启动顺序(1)与vxworks映像类型相关上电后最初的初始化步骤都是相同同的,与vxworks映像类型无关上电后,处理器跳到rom或flash中的启动代码入口启动代码完成:禁止中断配置目标机存储器装载适当的vxworks映像数据段运行初始化代码,使目标机处于静止状态vxwork启动顺序(2)loadable vxworks image bootstrap code executes and loads text and data segments of boot
15、 code (from rom or flash) into ram.scenarios are: boot code compressed - decompression during copy boot code uncompressed - copy boot code is rom-resident - copy data segment only boot program executes and loads vxworks image into ram. jumps to vxworks load point. system initialization code statical
16、ly linked into loaded vxworks image executes and completes initialization.启动过程图示vxworks system memory layout (arm)启动各步骤对应的文件非压缩压缩基本模块的编写时钟中断串口使用tsfs方式启动vxworks为后续硬件添加支持网卡实现网络下载与调试flashtffs文件系统,vxworks存储,cfiled键盘lcdbsp添加对led的支持config.h#define include_ledsysled.c sysled.c完成led的驱动接口#define led_address
17、0x06000000extern void led_display(unsigned char data);syslib.c#ifdef include_led #include “sysled.c” #endif /* include_lcd */网卡与bsp的接口#ifdef include_lan91c111_end#define end_lan91c111_load_func lan91c111load #define end_lan91c111_buff_loan 1 /*:*/ #define end_lan91c111_load_string 0x2000300:0x18:0x1
18、8:0x2:0x3100:0x08:0x01:0x3e:0x21:0xc7:0xf8 import end_obj * end_lan91c111_load_func (char *, void*); #endif /* include_lan91c111_end */end_tbl_entry enddevtbl =#ifdef include_lan91c111_end0, end_lan91c111_load_func, end_lan91c111_load_string, end_lan91c111_buff_loan, null, false, #endif 0, end_tbl_end, null, 0, null, false, ;makefile添加 mach_extra = lan91c111end.o调试经验iceida,objdumparm最基本的vxworks在vxworks下调试外围硬件中断的调试中断调试技巧学习vxworks的方法vxsim、vmware一台普通的x86计算机(完整的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南建筑安全员-C证考试(专职安全员)题库附答案
- 贵州大学《钢琴合奏》2023-2024学年第一学期期末试卷
- 贵州财经大学《社会经济调查与写作》2023-2024学年第一学期期末试卷
- 2025吉林建筑安全员-C证考试(专职安全员)题库附答案
- 贵阳信息科技学院《韩国语听力》2023-2024学年第一学期期末试卷
- 硅湖职业技术学院《房屋建筑学A》2023-2024学年第一学期期末试卷
- 2025山东省建筑安全员《C证》考试题库及答案
- 广州幼儿师范高等专科学校《级管理与主任工作实务》2023-2024学年第一学期期末试卷
- 2025江西建筑安全员《C证》考试题库及答案
- 广州卫生职业技术学院《生态环境与人类发展》2023-2024学年第一学期期末试卷
- 2024年中考英语语法感叹句100题精练
- 《海洋与人类》导学案
- 挑战杯红色赛道计划书
- 重整投资保密承诺函(范本)
- 2024年民航安全知识培训考试题库及答案(核心题)
- 抑郁症病例分享
- MOOC 汉字文化解密-华中师范大学 中国大学慕课答案
- 问题解决过程PSP-完整版
- 电动葫芦操作维护保养规程培训
- 淋巴回流障碍护理查房
- 初一英语作文范文30篇
评论
0/150
提交评论