HelloWorld on Skyeye,新手请进!(转)
字体: 小 中 大 | 打印 发表于: 2008-10-05 14:57 作者: fujinggui 来源: proteus仿真社区
HelloWorld on Skyeye,新手请进!
<chyyuu>最简单的可以在skyeye上运行的程序!
介绍: 初始学习嵌入式系统编程和使用Skyeye的人往往不知道该如何入手,
我想除了看资料以外,最好还有简单的例子可以用来作为基础练习。一般学习新
的编程和工具,都是从helloworld入手,所以我参考ucos-ii,使得用最少的代码
实现在skyeye上打印helloworld字串的功能。注意这里的Hello4Skyeye程
序与以前介绍的skyeye上的helloworld程序不同:它不需要有操作系统底层支
持,比如uclinux;它不是应用程序;它直接往串口写字符。Hello4Skyeye代
码量很少,没有实际应用意义,只是新手用于练习使用,高手就不必看了,欢迎
检查。
编译运行: Hello4Skyeye程序是在Skyeye0.8.6,RedHat9.0上编译
通过的。编译之前请确定安装了Skyeye和arm-elf交叉编译器。有关这两者的安
装说明可以在论坛置顶的《Skyeye使用简介》中找到。步骤如下:
1 把Hello4Skyeye.tgz下载到Linux用户目录中用
tar -zxvf Hello4Skyeye.tgz 解压缩Hello4Skyeye.tgz, 产生
Hello4Skyeye目录
2 cd Hello4Skyeye
3 用make编译
4 用skyeye hello运行hello,和其它程序一样接着用tar sim; load;run;
就可以看到以下结果:
QUOTE:
***************************************************************
**** ****
**** SkyEye Simulator Ver 0.8.6 with GDB 5.3 Interface ****
**** ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --
target=arm-elf"...(no debugging symbols found)...
(SkyEye) tar s
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x813dae4
log_info: log is off.
log_info:log file is /tmp/sk1.log, fd is 0x829e0e0
log_info: log start clock 0
log_info: log end clock 200000
SKYEYE: use arm7100 mmu ops
Connected to the simulator.
(SkyEye) load
Loading section .text, size 0x98 vma 0x1000000
Loading section .data, size 0x1000 vma 0x1002000
Start address 0x1000000
Transfer rate: 33984 bits in <1 sec.
(SkyEye) run
Starting program: /home/shang/HelloForSkyeye/hello
helloworldhelloworldhelloworldhelloworldhelloworldhelloworld
helloworldhelloworldhelloworldhelloworldhelloworldhelloworld
helloworldhelloworldhelloworldhelloworld
组成部分: 在Hello4Skyeye目录中用make clean命令可以删除目标代
码,只留下源代码,可以看到总共只有hello.c hello.lds makefile
skyeye.conf start.S五个文件。下面逐一介绍。
makefile: 该文件做为make工具的输入,描述了该如何编译
HelloForSkyeye项目。有关makefile的编写在make.info中已经详细说明,值
得注意的是有些编译参数比较陌生,象-mapcs,-march,... 这些参数的说明可以
在as.info::Machine Dependence::ARM-Dependent::ARM Options中找到。
start.S: 该文件存放了启动的汇编代码,主要工作就是设置IRQ模式,屏蔽中
断,调用hello函数输出字串,重新循环。这里的汇编指令都是ARM指令,但是伪
指令,还有label,立即数等等都和教科书上写的ARM程序大相径庭。这些都是
GNU AS汇编编译器的统一语法。在as.info中有详细的介绍。
hello.c: 这是一个c语言源文件,其中只有一个hello函数,实现向串口输出
“helloworld" 字串的功能。因为AT91的UART0的基址为0xfffd0000,USART
发送寄存器US_THR的偏移量是0x1c。所以向0xfffd001c地址写入字符,就是
向串口发送字符。Skyeye就会把字符打印到屏幕上。可以看到系统编程必须对硬
件了解。
hello.lds: 这是ld链接器的脚本文件,其中规定了程序入口,各个段的放置位
置。ld script的书写方法可以在ld.info::Scripts::中找到。编译好的目标代码,
还可以用'objdump -x' 查看里面的各段的位置。
skyeye.conf: skyeye运行的配置文件,其中说明了模拟的cpu,arch,还有内存
组配置。论坛置顶的《Skyeye使用简介》中详细说明了该配置文件的写法。

最新回复
fujinggui (2008-10-05 14:59:22)
fujinggui (2008-10-05 15:55:38)
(2008-10-05 15:55:38, Size: 7.89 KB, Downloads: 11)
efgh899 (2008-11-12 10:24:22)
主管魅力有效引导团队发展
领导并不是以同样的方式表现他们的领导角色,领导者们通常使用不同的领导风格,这些不同的领导风格对团体成员的工作绩效和工作满意度有着不同的影响。从实际寿险从业的统计数字显示中,不难发现:单位运作时,人员流失是一种必然的现象。即使是有百年经验的欧美企业,100个新人经过5年,留存只有15人也毫不奇怪;国内的状况则更加严重,年初百人,年末只余12人。寿险营销随着代理竞争的加剧,“大吃小,快吃慢”已成为现代企业竞争的规律。营销团队的稳定与快速发展是一家公司成败的关键。
一般来说,初入寿险营销行业的人多少会有些新奇感:形式新颖的培训课、晨会上的动感晨操、保险的意义和功用等等,不一而足,新奇之后有的人可能会问:“这些东西有什么用?好像幼儿园一样吗!”作为管理者,就应当告诉这些人一个理念:观念决定行为,而行为决定结果。其实这些形式都是帮助大家改变观念的动作,成年人来自不同的生活圈、工作圈,都有一些固有的观念和习惯,要改变这些虽然很不容易,但不是不可能的,这就需要营造一种氛围,一种弘扬成功的氛围,吸引成功的人才,管理者是这个团队的灵魂,带给所有人的是一种积极向上、热情洋溢且富有组织号召力的形象感受。
寿险主管,本身就是一个有巨大业务压力的工作。独木不成林,团队出击胜于单打独斗,主管应不断地增加团队的人力并增加业绩,如果增员效果不佳,组织不壮大,就无法成为称职的主管。
美国依阿华大学的研究者、著名心理学家勒温和他的同事们从20世纪30年代起就进行关于团体气氛和领导风格的研究。勒温等人发现,领导并不是以同样的方式表现他们的领导角色,领导者们通常使用不同的领导风格,这些不同的领导风格对团体成员的工作绩效和工作满意度有着不同的影响。
众所周知,业务员的骄人业绩是推动业务员努力并取得成功的原动力,业务员成功的机会越多,信心就越强。因此,业务主管应在平时的晨会和管理活动中,注意给业务员包括那些业绩不佳的业务员创造成功的机会,让他们经常品尝到成功的喜悦,如让取得成功业绩的业务员在晨会上做“心得分享”,经常在晨会上表扬那些虽然业绩不佳、但已经付出艰辛努力的业务员。帮助他们树立自信的办法,最有利于激励大多数中等业绩以下的业务员发愤努力,可以让他们感到提高业绩并非高不可攀,只要努力,就能获得成功的。奖励就是对人们的某种行为给予肯定和奖赏,使这种行为得以巩固和发展。奖励分为物质和精神奖励。人在无奖励状态下,只能发挥自身能力的10%?D30%;在物质奖励状态下,能发挥自身能力50%?D80%;在适当精神奖励的状态下,能发挥80%?D100%,甚至超过100%。
保险行业充满挑战、竞争,无论你有多大的能力、多高的水平,都要面对拒绝,所以我们要关心每一位属员,注意他们的情绪变化,有针对性地引导他么走出误区,坚定走寿险之路的信心。
主管能否把团队建立好、把业绩搞上去,最根本的一点就在于能不能把属员最大限度地团结在自己周围,做到说话有人听,办事有人跟,能够凝聚人心,形成合力,披荆斩棘,勇往直前地完成任务目标,创造业务上的一个又一个新高。要当好一名主管,就在于能够把各种人的长处融合起来,不应当揭露、挑剔属员的弱点,而应鼓励所有积极因素的联合。
一个成功的寿险团队主管,之所以成功,其关键在于主管99%的行为魅力以及1%的权利行使。部属能心悦诚服地为其努力工作,不是因为其手中有权,权是不能说服人的,即使服了,也只是口服心不服。绝大多数原因是主管有着好的领导行为。好的领导行为能给属员带来信心和力量,激励部属,使其心甘情愿地义无返顾地向着目标前进。
[ 本帖最后由 budhy 于 2008-12-14 00:06 编辑 ]
eastman1986 (2008-12-13 23:56:38)