摘要:Bootloader是嵌入式系统软件开发的第一个环节,它紧密地将软硬件衔接在一起,对于一个嵌入式设备后续的软件开发至关重要。Blob是一款功能强大的Bootloader,S3C44B0是三星公司一款基于ARM7TDMI的嵌入式通用处理器。本文详细介绍Blob在基于S3C44B0的开发板上的运行原理与移植过程。
Bootloader对于嵌入式设备来说至关重要,它涉及到许多硬件相关的知识。对于自制的嵌入式开发板,它又是不可跳过的步骤,所以很多人对于它感到很头痛。本文将以一款优秀的Bootloader Blob为例,详细讲解它的运行原理以及在S3C44B0通用处理器上的移植过程,为在嵌入式设备上的后续软件开发打下基础。
1 Blob简介
Blob是Boot Loader Object的缩写,是一款功能强大的Bootloader。它遵循GPL,源泉代码完全开放。Blob既可以用来简单的调试,也可以启动Linux kernel。Blob最初是Jan-Derk Bakker和Erik Mouw为一块名为LART(Linux Advanced Radio Terminal)的板子写的,该板使用的处理器是StrongARM SA-1100。现在Blob已经被移植到了很多CPU上,包括S3C44B0。
MBA44B0是一款基于S3C44B0的开发板。本文将以运行在MBA44B0开发板上的Blob的源代码为基础,再针对自己的开发板进行Blob的移植。
开发板的主要配置为:
*三星ARM7处理器S3C44B0;
*2MB的Flash,地址范围0x0000 0000~0x0020 0000;
*8MB的SDRAM,地址范围0x0c00 0000~0x0c80 0000;
*1个串口,2个LED灯;
*JTAG接口;
*晶振为6MHz,系统主频为60MHz。
2 Blob的运行过程分析
图1为Blob程序启动流程
Blob编译后的代码定义最大为64KB,并且这64KB又分成两个阶段来执行。第一阶段的代码在start.s中定义,大小为1KB,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C44B0的一些寄存器的初始化和将Blob第二阶段代码从Flash拷贝到SDRAM中。除去第一阶段的1KB代码,剩下的部分都是第二阶段的代码。第二阶段的起始文件为trampoline.s,被复制到SDRAM后,就从第一阶段跳到这个文件开始执行剩余部分代码。第二阶段最大为63KB,单词trampoline词义为“蹦床”,所以在这个程序中进行一些BSS段设置,堆栈的初始化等工作后,最后跳转到main.c进入C函数。
我们的移植主要需要对上述的几个文件进行修改。在进行移植以前,首先需要对存储器的地址空间分配了解清楚。关于存储器空间的定义在/include/blob arch/mba44b0.h中。
图2为在Flash中的存储器空间分布,图3为启动后在SDRAM中的存储器空间分布。
如图2所示,2MB的Flash空间分别分配给出Blob、kernel、ramdisk。系统上电后,先执行第一阶段代码,进行相应的初始化后,将Blob第二阶段代码复制的RAM地址bloc_abs_base,然后跳转到第二阶段开始执行。
在第二阶段中,从汇编跳转到C的Main()函数,继续进行如下工作:
*外围的硬件初始化(串口,USB等);
*从Flash中将kernel加载到SDRAM的kernel区域;
*从Flash中的ramdisk加载到SDRAM的ramdisk区域;
*根据用户选择,进入命令行模块或启动kernel。
在我们使用的开发板上,kernel选用uClinux。由于Flash的存储空间有限,所以存放在Flash中的uClinux内核是经过压缩的。Blob将压缩的uClinux内核加载到SDRAM地址0x0C300000。如果选择启动uClinux,那么压缩的uClinux内核将自解压.Text段到0x0c00800(见uClinux/arch/armnommu/Makefile),然后再跳转到核处,开始运行uClinux。具体的uClinux移植在此就不详细讨论了。
在SDRAM的存储器空间分配图中,可以看到有blob_base和blob_abs_base两部分。blob_abs_base大家已经知道了,是Blob将自身的第二阶段代码复制到SDRAM所在的区域,而blob_base则是从Blob进行自升级或调试的区域。举例说明,假如Blob已经能正常运行了,但是对于Flash的擦写还不能支持得很好,就可以使用已经运行的Blob通过串口将所新编译好的Blob下载到SDRAM中该区域进行运行调试。调试通过后,可以通过Blob烧写进Flash,覆盖原来的Blob进行升级。这样就不必因为对Blob做了一点小的改动就重新烧写Flash,从而减少了烧写Flash的次数。
3 Blob的移植
对Blob的运行有了一定了解后,就可以进行Blob的具体移植了。首先要修改的start.s文件,具体工作如下:
*屏蔽掉看门狗WTCON;
*配置寄存器SYSCFG暂时关闭缓存,等Blob运行稳定后再开启提高性能;
*初始化I/O寄存器;
*屏蔽中断;
*配置PLLCON寄存器,决定系统的主频;
*调用ledasm.s,在串口未初始化时led状态对于程序是否正常运行很重要;
*调用memsetup-s3c44b0.s中的memsetup进行初始化存储器空间,初始化SDRAM刷新速率等;
*将第二阶段复制到SDRAM,并且跳转到第二阶段。
在ledasm.s中,提供了led的汇编的语言驱动程序。在Blob还有个led.c文件,它和ledasm.s原理一样,只不过是在C语言中调用的。修改led是为了方便初期阶段的调试。在这里根据自己的开发板进行修改。
在memsetup-s3c44b0.s中,修改MEMORY_CONFIG中设置存储器相关的配置,并设定SDRAM刷新速度,相关源码如下所示:
MEMORY_CONFIG:
.long 0x11101002 /*进行存储器的配置,SDRAM刷新速度配置等*/
… /*这里需要根据不同情况进行修改*/
.long 0x20
.globl memsetup /*定义全局标号,以便能被start.s调用*/
memsetup:
ldr r0,=MEMORY_CONFIG /*进行配置*/
ldmia r0,{r1-r13}
ldr r0,=0x01c80000
stmia r0,{r1-r13}
mov pc,lr /*程序返回*/
Trampoline.s不需要进行修改。
进入Main()后,串口传输速度在结构体blob_status中设定:
blob_status.downloadSpeed=baud_115200;
blob_status.terminalSpeed=baud_115200;
串口的初始化相关代码定义在函数s3c44b0_serial_init()中,该函数在serial-s3c44b0.c中。对于S3C44B0的串口,一般只需要初始化下面四个寄存器串口就可以正常工作。如果不能工作,可能是系统时钟设置不同,只需要按照下列公式计算出divisor:
divisor=(int)(MCLK/(baud×16)) -1
替换下面的divisor即可。其中MCLK为系统主频,baud为波特率。
/*serial-s3c44b0.c中中s3c44b0_serial_init()函数初始化串0部分*/
REG(UFCON0)=0x0;/*关闭FIFO*/
REG(ULCON0)=0x03;/*设置数据位8,无奇偶校验,1位停止位*/
REG(UCON0)=0x0;/*脉冲中断,中断请求或查询模式*/
REG(UBRDIV0)=divisor;/*设置波特率*/
至此,初级移植工作已经完成,运行./configure ith-board=mba-44b0-with-linux-prefix=/path/to/linux-src进行相关配置。在此还可以加一些开关选项进行配置,具体请参阅Blob自带文档。如果没有错误,就可以make进行编译了。如果编译正确,可在blob/src/blob下得到bin格式的Blob,将其烧写到Flash即可运行。关于Blob第一部分和第二部分的链接脚本,可以在start-ld-script和rest-ld-script.in中看到相关的链接地址,编译器是根据这些地址链接程序的。在blob/src/blob/Makefile中可以看到,两个阶段分别以blob-start和blob-rest来编译,最后通过dd命令将它们组成一个完事的Blob二进制文件。
(1)命令行的修改
在笔者使用的Blob版本中,BackSpace不能起作用,这对于调试非常的不方便。查阅源码,可以发现在src/blob/lib/command.c中,GetCommand函数中定义着人机交互部分。将else if(c==''这一行修改为else if(c==0x7f),即可支持Backspace功能。
(2)Blob的运行
如果在前面的工作中没有什么问题的话,将blob/src/blob/blob文件烧写进Flash后,上电就可以从串口看到欢迎信息。加载linux内核和文件系统的后,等待几秒,如果没有操作,将启动操作系统,否则出现提示符:
Blob>
表示进入Blob。在该模式下提供了许多命令,可以方便地进行硬件调试、系统升级和系统引导。
Blob常用的命令有:blob、boot、xdownload、flashreload、dump、reblob、status等。
不同的Flash操作有所不同。笔者发现通过Blob烧写Flash的软件有些问题,为了调试方便,决定编写自已的Flash驱动程序。
(3)Flash驱动程序的编写
Flash作为非易失性的存储器,在开发板上的作用是能保存数据且掉电不丢失。和EPROM最大的不同在于,对Flash编程不需要对特定的引脚加高电平,只是对特定地址写入一组特定的数据即可进行编程,这样就直接在开发板上通过软件进行擦写,不必使用特定的编程器。但是它的缺点也是很明显的:操作过于复杂,SST39VF160是SST公司的一款16M位的Flash,16位数据线宽度,共2MB容量,分为512个扇区,每个扇区有4KB,或32个块(block),每个块64KB。对Flash编程之前,必须对相应的扇区、块或者整个芯片进行擦除后,才能进行编程。
通过S3C44B0进行Flash的烧写需要注意几点:首先,S3C44B0外部地址总线是根据外部数据总线宽度连接的。例如,本开发板外部数据总线为16位宽度,这样S3C44B0的地址线A0就没有接入外部地址总线,而是从A1接起。
对Flash编程需要对Flash写入一个特定的时序。如果S3C44B0寻址0x5555,由于外部总线错了一位,这样在Flash看来发过来的地址信号是0xAAAA,也就不能正确地完成操作。注意到这一点,根据Blob自带的Flash驱动程序,就可以很方便地改写出适合自己Flash驱动程序。
结语
根据笔者经验介绍了Blob在S3C44B0上的移植,目前它已经能稳定地运行在开发板上;并且可以进行烧写Flash,查看内存,引导uClinux等操作,为项目的后续开发奠定了良好的基础。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
相关推荐
S3C44B0是Samsung公司推出的一款为手持设备或其他通用设备开发的32位处理器,它基于ARM7TDMI核,没有内存管理单元(MMU)。在采用无MMU的微处理器的嵌入式系统中广泛采用的就是
2019-08-19 08:00:25
S3C44BOX开发板上的设备是通过何种方式控制的?
2023-05-09 16:01:36
S3C44B0X数据手册1产品预览介 绍三星的S3C44B0X 16/32位RISC处理器被设计来为手持设备等提供一个低成本高性能的方案
2009-11-13 10:50:58
S3C44B0x移植源代码UCOS_II.C,INCLUDES.H,OS_CFG.H,OS_CPU.H,OS_CPU_A.S,OS_CPU_C.C,OS_TASK.C,UCOS_II.H.
2008-07-07 09:36:53
使用S3c44b0控制步进电机,需要有正转,反转,加速减速,匀速功能,哪位大虾帮帮我,给我个例程,十分感谢了
2012-03-29 23:58:07
我想在 S32DS3.4 中通过命令行模式为 S32R41 生成 blob 图像。根据“HOWTO:使用 IVT 工具创建 Blob 图像”和 S32DS 帮助文档 - “命令行执行 - IVT
2023-04-04 08:22:16
/libcpu/arm/s3c44b0 -I/cygdrive/c/linux/rt-thread/rt-2457-git/libcpu/arm/common application.c sh
2022-06-27 14:17:50
不能写。*将起始地址写入HPIA寄存器。此后可正常存取DSP内部RAM的数据了。结合硬件设计和HPI的操作步骤,便可以在S3C44B0X上编写程序实现C5416的数据通信。程序主要分为两个部分:一部分
2019-04-28 09:57:18
ARM7和ARM9 s3c44b0x资料
2017-07-12 21:09:29
学习arm已经两个星期了。看s3c44b0x芯片资料都了解些了!但就是没有看到应用的例程。如果想自己写一个GPA口输出数码管段码应该要添加那些头文件和怎么样初始化???谢谢各位高手热心回答啊!
2012-03-14 19:39:21
和查询。实时采集的数据是由AD采样得到的,需要注意的是S3c44B0没有采样保持电路所以通道的切换频率不能超过100Hz,在ADC开启路时都需要一个延时,利用这段时间来对上一路进行滤波而提高程序的效率
2011-11-24 15:24:00
: i2s_set_sample_rates ret: 0I (43907) U_I2S: u_i2s_init return 0Codec 在左右channel上报固定数据 0x11,0x22, 0x33,0x44 和 0
2023-02-16 06:35:52
Nucleus PLUS启动过程Nucleus PLUS移植过程Nucleus PLUS在S3C2410A上的移植过程和方法
2021-04-25 07:05:13
本文详细介绍了Nucleus PLUS在S3C2410A上的移植过程和方法,移植后的代码在深圳优龙科技有限公司的FS2410开发板上运行正常,可以实现多任务调度、任务间通信和中断响应。
2021-04-26 06:38:54
。D2516ECMDXGMEID5116AN9CXGRKOCP0S364B-A0OCP0S3128B-A0OCP0S3256B-A0OCP0S3512B-A0OMSP0S364B-00OMSP0S3128B-00OMSP0S
2022-02-08 11:11:22
和0.2.1相比,添加了:- s3c44b0的移植 [Xu Xinming]- AT91SAM7S64的移植 [感谢www.icdev.com.cn提供开发板]以下的移植仍然是试验性质的- NDS
2012-02-24 22:21:52
UBoot源码分析及在S3C2440的移植过程
2012-08-20 21:49:04
{:4:}小弟刚买了个二手s3c44b0的Arm7但随附件的jatg是25针的,悲催的是我的电脑没有25针的串口。我的电脑是dell的,我自己就一台电脑。毕业了,想玩玩Arm,请问我该怎么吧这个玩意接到电脑上?????????
2012-04-02 11:23:49
小弟刚买了个二手s3c44b0的Arm7但随附件的jatg是25针的,悲催的是我的电脑没有25针的串口。我的电脑是dell的,我自己就一台电脑。毕业了,想玩玩Arm,请问我该怎么吧这个玩意接到电脑上?????????
2012-04-02 11:22:30
介绍了uC/GUI在ARM 内核S3C44B0X的移植。实践证明uC/GUI具有良好的实时性和稳定性以及广泛的应用前景。
2019-09-27 07:28:10
板载的uboot可以用mm命令写RTL8019的寄存器。44B0的存储器配置寄存器肯定配对了,这个没问题,在ADS下开发的程序都能初始化RTL8019, 但是UBOOT里面不能访问基地址是0x6000000的RTL8019寄存器,非常奇怪
2011-09-09 10:15:54
终于算是初步搞好了uclinux-20040408在44b0上的移植了。也只能说是初步吧,后续应该还会有很多问题浮出来滴~~ 照例,还是简单的纪录下所做的事吧: 准备好源码包
2018-07-03 05:00:37
的,包含一小部分汇编代码,使之可以供不同架构的微处理器使用,所以具用很强的可移植性,可以在大多数8b,16 b,32 b单片机及数字信号处理器上运行。本文介绍vC/OS—II在LPC2106上的移植技术。
2009-03-28 13:32:01
本帖最后由 eehome 于 2013-1-5 09:54 编辑
μC_OS-Ⅱ在stm32上的移植
2012-08-15 19:40:32
说明了如何搭建移植环境,然后着重讨论了在该开发板上Bootloader的设计实现以及t~Clinux内核的移植方法,最后对在这种基于UClinux的嵌入式系统环境下如何开发应用程序做了简单说明。关键词:嵌入式系统;移植;UClinux;S3C4510B;Bootloader
2009-03-28 13:18:50
申请理由:三星的处理器,在飞凌和友善的推动下,可谓在中国的嵌入式入门领域,长期占领着大壁江山,按照年代来算,由2002的ARM内核的S3C44B0,到2005年的ARM9内核的S3C
2016-05-25 14:07:06
、有效。近年来,嵌入式系统设备全面渗透到人们日常生活的各个领域,本文针对智能家居嵌入式系统的软硬件设计需求,以S3C44B0X为处理器进行智能家居系统的硬件设计,以实现μC/OS-Ⅱ在S3C44B0X上的移植。
2019-06-21 07:05:26
刚玩ARM,还不是很懂,这个MCU的USB口怎么用的?是做好驱动以后连上机器显示U盘?另外手头有些2410的开发板和原型版不知道有没有人要,接口基本都齐的,价格40-80元不等,也有S3C44B0和S3C4510的,需要的话QQ联系我吧:1012923754
2012-05-20 15:38:14
刚学习ARM7,想请教大家一个问题。S3C44B0X没有片内FLASH和RAM,所以需要外接。我这个板子上接了,NORFLASH,NANDFLASH,SDRAM。我就用NORFLASH来存放启动代码
2013-10-14 22:18:31
日常生活的各个领域,本文针对智能家居嵌入式系统的软硬件设计需求,以S3C44B0X为处理器进行智能家居系统的硬件设计,以实现μC/OS-Ⅱ在S3C44B0X上的移植。
2019-07-25 07:39:26
各位大大:在学习ARM7S3C44B0的过程中,根据教程和各种资料,怎么都没有提到跑裸板程序相关的东西;各个资料只是介绍怎么在ADS仿真时,将RO设置为0X0C008000这部分后,就直接在线仿真
2014-07-26 10:28:07
您好!可有UC/OS在LM3S811上移植的范例?编译环境为IAR for ARM 6.0 或CCS。
谢谢!
2018-06-21 01:09:55
: 2.调试程序装载后 AXD装载AXF调试文件后,暂时不运行,PC指针指示在b ResetHandler处,用右键菜单中的Disassembly,可以看出初始地址实际上指示在0x0c008000,即ADS
2011-12-20 10:01:14
4.1 键盘扫描任务相关代码: 5 结语 本文主要介绍了基于S3C44B0x 和μC/OS-Ⅱ的室内空气质量监测系统的软、硬件设计方案以及系统中气体传感器的工作原理。在监测仪中移植嵌入式实时操作系统
2011-08-10 09:21:20
OK6410+QT移植百科全书 下载地址:基于S3C6410的QT移植方法及源码下载地址:百度网盘:http://pan.baidu.com/s/1hqCf03q
2015-05-19 17:39:29
基于S3C44B0的高精度直流开关电源设计(2)
2019-03-04 11:43:17
采用嵌入式开发技术,利用S3C44B0X和GPRS通讯模块开发了基于手机的汽车防盗系统,该系统能通过车主手机实现对汽车的远程无线监控。
2021-05-17 06:22:50
、高性能、可配置等特点广泛应用于通信、医疗、工控、电子、机顶盒、多媒体等领域。本文正是针对这种需求,介绍如何在S3C240上移植MiniGUI的全过程。
2020-04-02 08:25:31
)。S3C44B0X的杰出特性是它的CPU核,是由ARM公司设计的16/32 位ARM7TDMI RISC处理器(66MHZ)。ARM7TDMI 体系结构的特点是它集成了Thumb 代码压缩器,片上的ICE断点调试
2012-03-12 17:06:33
本文介绍一种以目前比较流行的基于ARM7架构的嵌入式处理器S3C44B0X和Motorola的M12模块的GPS数据接收终端的设计。
2021-05-12 06:14:49
本文给出一种适合于中/低端应用的通信平台设计方案,它可支持Ethernet网络之间的数据传输,并且具有RS232、 RS485、 USB等接口。文中围绕嵌入式uClinux环境设计了基于嵌入式通信微处理器S3C44B0X的硬件通信平台,从而实现了嵌入式Socket通信。
2021-05-27 06:59:01
移植操作系统,应用于其他复杂领域。本文从RTL8019AS的内部结构工作原理出发,介绍了基于S3C44B0X的硬件接口电路,详细说明了基于硬件层的驱动程序C语言的设计。
2021-05-21 06:00:07
本帖最后由 ww5223017240 于 2012-5-20 16:00 编辑
有4种MCU,三个三星的,S3C44B0,S3C4510,S3C2410,一个ATMEGA的,还有个增强型51
2012-05-20 15:44:47
有4种MCU,三个三星的,S3C44B0,S3C4510,S3C2410,一个ATMEGA的,还有个增强型51的板有好几种,基本都有JTAG,网口,串口,作为开发板是肯定没问题的。具体看我一个个介绍
2012-05-20 16:03:33
本人闲置了一块路虎LPC1768开发板和三星的S3C44B0开发板,想换一块stm32开发板或者fpga开发板,有哪位有意向者请与我联系。qq394206719,谢谢
2013-09-03 11:57:03
我们很乐意在下一代产品中使用 S32K3。我们的一些现有客户要求产品符合 IEC 60730 软件 B 类标准。
是否可以在 S32K3 上实施 IEC 60730 软件 B 类?是否有任何现有的库/模块/支持 S32K3 上的 IEC 60730B 测试。
2023-05-06 07:47:58
求大神相助!基于S3C44B0的语音录放系统设计,最好有mcp工程包哈
2014-05-10 21:20:30
本人是大三学生,准备学习ARM嵌入式系统,主要是ARM7和ARM9两种结构,S3C44B0和S3C2410。请问各位前辈有什么好的适合初学者的嵌入式教材可以推荐一下吗?谢谢
2013-08-31 09:41:59
我有一块arm7 三星s3c44b0x的开发板,,,我自己在flash稍了u-boot,用他引到了一段自己写的硬件测试程序,就是串口的收发信息,,但是在连接上jtag的时候串口在超级终端上信息收发
2014-01-18 10:47:34
大家好,我在S3C44b0开发板上新建工程添加文件,后通过ADS编译仿真,结果发现开发板上没有反应,怀疑程序没有烧进去,后来单步查看,发现程序运行没有跳转到Main()函数处,接着发现在IMPORT
2011-09-29 14:39:37
以三星S3C44B0XSOC为控制器,扩展8MFlashROM、8MSDRAM,扩展LCD显示器,设置4个独立式按键,构建RS232通信接口;利用片内AD采集8路模拟信号,采样周期8路对应分别为1s~8s,将采集的信号在LCD列表实时显示,同时通过串口向上位机发送。设计硬件电路原理图,编写相关程序。
2012-07-05 16:42:07
需要一块s3c44b0x开发板完成一些实验,哪位朋友有用不着的可否转让???
2014-04-11 10:11:53
`各位大虾,我买了一块S3c44b0的板子,准备用DNW烧写程序时,但是DNW显示USB:x,在网上找了很久都没有找到,我用的是win7,所以跪求这个驱动,如果有的话,请发到邮箱1159438455@qq.com,万分感谢!`
2012-07-06 22:16:19
`转让闲置S3C44B0开发板增强版一块S3C44B0开发板增强版标配全套产品清单:1、S3C44B开发板增强板1块2、JTAG调试器1个3、串口线1根4、USB连接线1根5、交叉网线1根6、USB
2013-04-02 18:42:55
采用S3C44B0X作为主控芯片,在开发板上移植了CLinux和Microwindows,利用ADXL105加速度传感器实现了用手腕动作控制菜单的功能。该系统的系统结构框图
2011-06-01 09:37:35
实验目的1、掌握有关音频处理的基础知识。2、了解IIS(Inter-IC Sound)音频接口工作原理。3、掌握对S3C44B0处理器中IIS模块电路的控制方法。4、掌握对常用IIS接口音频芯片的控制方法。
2011-03-13 23:17:08
uCOS在S3C44B0上的移植代码 1.0(源程序)
2009-03-28 09:47:3939 S3C44B0X 作为一款以ARM7TDMI 为内核的微处理器,正日益受到广泛的应用;uClinux作为一种运行于没有MMU 的嵌入式微处理器的Linux 衍生操作系统,也广泛应用于嵌入式开发中。BLOB 作为一
2009-05-15 15:40:4914 本文在将嵌入式实时操作系统μCOS-II 移植到S3C44B0 的基础上,将CAN 总线通讯程序作为一个模块植入μCOS-II 之中,形成一个CAN 总线智能节点。阐述了CAN 总线智能节点的设计思想,硬件
2009-08-06 10:35:3314 U-Boot 是sourceforge网站上的一个开源项目,是当今比较流行、功能强大的BootLoader,能支持多种体系结构。本文在阐述U-Boot启动过程之后,对其在S3C44B0上移植过程中的要点加以分析
2009-08-27 09:08:4237 本文简介了一种实时多任务内核μC/OS-Ⅱ。并根据S3C44B0X 芯片的硬件特性,给出了一种把μC/OS-Ⅱ移植到S3C44B0X 上的方案。关键词:实时多任务内核;μC/OS-Ⅱ;S3C44B0X;移植嵌
2009-08-31 11:46:4018 随着嵌入式处理器Intel PXA27x 在各种智能终端上的推广使用,基于这款处理器的Bootloader(Blob)的设计和移植也逐步转向实际应用。本文在分析基于PXA27x 的Blob 移植和启动过程关键问
2009-09-01 14:31:5813 S3C44B0中文手册:S3C44B0X 的UART(通用异步收发器)单元提供两个独立的异步串行I/O 端口,每个都可以在中断和DMA 两种模式下工作。它们支持的最高波特率为115.2Kbps。每个UART通道包含2
2009-09-10 18:53:09572 为何选用SAMSUNG S3C44B0进行开发 目前,ARM7芯片在国内开发的潮流是三星公司的S3C44B0和S3C4510。这两款芯片各有侧重:前者着力于PDA 应用,芯片内部集成了LCD控
2010-02-09 17:57:0345 S3C44B0中文数据手册
很多数字音频系统进入了音频消费市场,包括音频压缩唱片,数字音频磁带,数字声音处理器,和数字声音TV。
2010-02-10 12:01:07128 Blob(Boot Loader Object)是一款功能强大的Bootloader,多用于S3C44B0而少用于S3C2440A。介绍了常见的Bootloader;归纳了Blob的主要特征;分析了其运行过程,介绍了系统存储空间分布;给出了Blo
2010-12-17 16:31:3326 uCGUI 移植到S3C44B0X实验
一、实验目的
1. 初步掌握uCGUI底层硬件驱动函数;
2. 掌握将uCGUI移植到ARM S3C44BOX上的方法和步骤。
二、实验内容
2010-01-25 11:16:21984 S3C44B0在高精度直流开关电源中的应用
0 引言
近年来,嵌入式技术发展极为迅速,出现了以单片机、专用嵌入式ARM为核心的高集成度处理器
2010-02-25 10:26:551022 移植uCGUI到ARM处理器S3C44BOX上,并编写Hello World程序,在Micetek 44B0实验平台的LCD上显示“Hello World!”字符串,
2011-05-10 10:30:481859 为使现有的基于RS232 、RS485 或CAN 总线的串口设备以以太网的方式组网运行,文章介绍了一种基于S3C44B0 的 串口服务器 系统的设计,详细阐述了系统硬件、软件结构及其工作原理。实际
2011-09-01 15:16:571588 S3C44B0的初始化程序就是初始化各个关键的寄存器,建立中断向量,然后转移到主函数去执行程序。不过S3C44B0不支持地址映射,所以程序不COPY到RAM种执行。S3C44B0初始化对我们广大初学者
2011-09-28 11:32:461609 本文简要介绍嵌入式系统,并详细阐述了基于三星公司ARM7嵌入式处理芯片S3C44B0为核心构成的开发板,通过uCLinux开发环境,运用Omni Vision511芯片摄像头采集图片的硬件平台设计和软件实现
2012-05-29 10:32:051887 系统移植的基本过程包括:获取较新版本的linux-2.6.9内核源码,根据目标平台对源码中与硬件平台相关部分进行修改,添加必要的外设驱动程序,对系统进行针对目标平台的交叉编译,生成的内核映像文件的下载调试等。
2018-03-24 10:59:001576 最初是Jan-Derk Bakker和Erik Mouw为一块名为LART(Linux Advanced Radio Terminal)的板子写的,该板使用的处理器是Strongarm SA-1100。现在Blob已经被移植到了很多CPU上,包括S3C44B0。
2018-04-06 03:26:004258 Bootloader是嵌入式系统软件开发的第一个环节,它紧密地将软硬件衔接在一起,对于一个嵌入式设备后续的软件开发至关重要。Blob是一款功能强大的Bootloader,S3C44B0是三星公司一款基于ARM7TDMI的嵌入式通用处理器。本文详细介绍Blob在基于S3C44B0的开发板上的运行原理与移植过程。
2020-10-04 17:08:001572 电子发烧友网站提供《基于S3C44B0的LCD控制及触摸屏接口设计.pdf》资料免费下载
2023-10-11 09:45:360
已全部加载完成
评论
查看更多