【技术大神】应用低功耗MCU搭建XIP Linux开发环境

2017-03-07 技术大神活动文章
低功耗MCU,微处理器,微控制器,RZ/A1 低功耗MCU,微处理器,微控制器,RZ/A1 低功耗MCU,微处理器,微控制器,RZ/A1 低功耗MCU,微处理器,微控制器,RZ/A1

RZ/A1是瑞萨电子于2013年推出的RZ族MCU的第一个系列,也是瑞萨电子首款基于ARM核的高端通用MCU产品。


该产品的主要有如下两大优点:

1)基于ARM Cortex-A9 内核,最大支持400MHz主频,1000DMIPS,内嵌有MMU内存管理单元和NEON协处理器,因此拥有超强的运算处理能力。


2)片内集成了2~10M字节的SRAM,可以简化硬件设计,用户无需外扩SDRAM,也少了SDRAM采购风险。而且该SRAM分成5个块,每块又拥有独立的128位数据总线,数据处理效率极高。该产品CPU性能卓越,外围资源丰富,可以广泛应用于工业面板、二维码扫描、医疗设备、高端家电等领域。具体芯片的详细介绍和规格,这里就不赘述了。


基于RZ/A1的XIP Linux 介绍
1)什么是XIP?
言归正传,回到本文的主题XIP Linux。XIP是英语eXecute In Place的字母缩写,即芯片内执行,指应用程序可以直接在Flash闪存内运行。


RZ/A1是如何实现XIP模式的呢?是使用Nor-Flash吗?当然不是,Nor-Flash那么多引脚,封装也比较大,已经Out了。RZ/A1内嵌了SPI Multi IO总线控制器,不同于普通的SPI Flash控制器,它除了通过设置寄存器的方式来实现SPI通信外,还支持把SPI通信转换成总线式的并行通信。这样CPU读Flash的时候,控制器自动把读操作转换成SPI命令,从外部的串行Flash读取数据,换句话说,CPU可以像访问内存一样访问串行Flash。因此,应用程序可以直接在串行Flash内运行,不必再把代码复制到SRAM中,如下图所示。


大家可能又会想了,串行Flash的速度会不会很慢呢?并不然,RZ/A1除了支持普通的SPI Flash外,还支持四线的QSPI Flash,还支持双四线的Dual QSPI Flash (8线),速度不会比普通的Nor-Flash速度慢。而且,有RZ/A1双重的缓存机制来保障串行Flash更快的运行速度,其一,SPI Multi IO总线控制器带有读缓存,其二,芯片内嵌了大容量的L1和L2缓存。


2)什么是XIP Linux?
XIP Linux与传统Linux又有什么不同之处呢?


传统Linux的Kernel映像文件被压缩并存储在外部Flash,在系统启动时,需要将Kernel映像拷贝到RAM中,并解压缩后,跳转到Kernel运行,Kernel需要常驻内存中。而且应用程序是存储在文件系统中的,文件系统是以块的形式存储(数据读写需要固定尺寸的块),程序不能直接从块设备运行,需根据动态加载到RAM中运行。


而基于RZ/A1的XIP Linux,CPU可以直接从外部串行Flash运行Kernel,无需做任何拷贝,如此一来Linux启动会很快,而且也节省了很大的RAM空间。另外,XIP Linux使用了AXFS(Advanced XIP File System)文件系统,MMU可以把基于AXFS系统的应用程序的Flash物理地址直接映射到Linux的虚拟地址空间,应用程序也不需要拷贝到RAM,能够直接运行。所以应用程序的启动速度也非常快,同样也节省了大量的RAM空间,如下图所示。



总而言之,相比传统Linux,基于RZ/A1的XIP Linux优势在于,其一,不用加载Kernel和应用程序而致使系统启动速度非常快;其二,使用非常小的RAM空间。因此基于RZ/A1的XIP Linux可以仅使用片内的SRAM,无需扩展SDRAM。


XIP Linux开发环境的搭建
1)PC Linux系统安装
要做Linux的开发,当然少不了Linux的PC系统。用户首先需要在Windows的PC机上安装一个虚拟机软件,然后在虚拟机里安装好Linux系统。虚拟机软件可以选择的很多,此处不多说了。这里Linux PC系统,推荐使用Ubuntu 14.04,当然Ubuntu的其它版本也可以,因为我们使用的GCC已经预编译好了,因此版本对系统的影响不大。安装步骤不赘述了,但需要强调的是,应使用如下命令在Ubuntu系统安装两个工具。



2)RZ/A1 Linux BSP下载
基于RZ/A1的Linux BSP源码仓库放在网站:https://github.com/RENESAS-rz。
用户可以从该网址的rskrza1_bsp_releases目录下下载到最新版的Linux BSP,然后解压到用户目录下。也可以直接在Ubuntu的终端用如下命令操作。


 
用户也可以从网址——http://renesasrulz.com/renesas_forum_home/rz/m/mediagallery/——下载到最新的Linux BSP世强平台也还有一些基于RZ/A1的Linux应用笔记可供参考


3)Linux编译
进入上一步解压的目录:RSKRZA1-BSP-V1.1.0,里面有个setup_env.sh和build.sh文件。setup_env.sh用于设置编译输出及GCC工具链的目录,当然也可以使用默认的,不作修改。Build.sh文件功能很强大,可以用于获取工具链,编译u-boot、Kernel和根文件系统。在RSKRZA1-BSP-V1.1.0下输入如下命令,就会显示出操作菜单,提示用户该如何使用该命令,如下所示。



不同版本的BSP,菜单选项可能有细微差别,但是只需按照上面提示的步骤一步一步操作即可完成编译。


4)目标文件烧录
到现在Linux系统的二进制文件全部编译完成了,那么怎么把生成的bin文件烧录到Flash中呢?这里推荐使用Segger J-Link工具。为方便调试,推荐分别下载安装Windows版本和Ubuntu下用的DEB版本。最好要安装5.0以上版本,也支持RZ/A1板8兆以上的二进制文件烧录。


在2.2节里解压的RSKRZA1-BSP-V1.1.1/Extra/ J-Link_QSPI_Program目录下,即包含了J-Link脚本工具,首先需要把上一步2.3 Section编译生成的二进制文件复制到该目录。该目录下Program_QSPI.bat文件可以运行在Windows环境,Program_QSPI.sh可以运行在Ubuntu环境,选择其中一个操作即可。执行该脚本后,提示如下选项,用户依次选择1、2、4、6、9项后即可完成整个Linux系统的烧录。


 
重新上电后,通过串口即可看到u-boot启动的命令提示行,这时输入命令”run xa_boot”即可启动Linux系统。


Linux应用程序的下载调试方法。
对于Linux应用程序的开发,大家可以借助Eclipse或者QT等工具,可以可视化配置交叉编译环境,也省了写Makefile文件的工作。由于本文篇幅有限,这里就不详细说明怎么使用这些工具进行应用程序开发了。


那么写好并编译完成的应用程序,怎么下载到RZ/A1的XIP Linux上运行测试呢?方法有多种,这里只介绍一种最有效的方法,就是把应用程序全部放在一个目录下,用axfs工具(该工具在Linux编译的时候会自动生成)把该目录也打包成axfs格式的映像文件。再用J-Link工具把该映像文件烧录到Flash指定的地址(如:0x1A000000)。在开发板的系统里使用如下命令把该区域挂载到Linux系统下,然后进入该挂载目录运行应用程序。


 
也可以把上面的内容添加到文件SNNxxx(NN代表两位数字,xxx代表字母,个数不限),使其具有可执行属性,然后放到根文件系统的/etc/init.d/目录下面,这样每次嵌入式Linux系统启动后,可以自动加载应用程序的axfs映像文件。
后记


后记

实际的Linux应用开发是比较复杂的,尤其驱动程序的移植等。本文在介绍有关操作时,由于篇幅有限描述比较粗略,主要起抛砖引玉的作用,让用户能够了解在RZ/A1平台上开发Linux是怎么一回事。后续如果有具体的项目开发,可以详细咨询世强。


作者:陈绪典

技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 1

评论

   |   

提交评论

全部评论(1

  • 竹游子 Lv4. 资深工程师 2017-03-08
    这个系列有什么评估板呢?
    • 世小强回复: 这系列的开发板可以参考:http://www.sekorm.com/doc/55116.html http://www.sekorm.com/doc/55117.html 或者您可以直接搜索“Renesas RZA1H 开发板”,购买可以联系:400-887-3266
没有更多评论了

相关推荐

【技术大神】由MCU的可承受输入电流谈电路设计

本文通过瑞萨电子的R5F10PPJ这款MCU,结合项目中遇到的一些实际例子来探讨下MCU的可承受输入电压和电流的问题。

设计经验    发布时间 : 2019-07-02

【经验】RL78系列MCU如何在boot中使用自编程库函数

瑞萨电子新一代微控制器RL78系列是继承了NEC 78K和R8C系列的优点开发出来的低功耗高性能产品,其集成了两个boot区域,对于客户产品的升级非常方便。

设计经验    发布时间 : 2017-08-10

【技术大神】光电感烟火灾探测器的硬件设计

UPD79F7024内部具有16位高速定时器TM00,可配置成PWM输出模式,用于对红外发射的PWM调制。因此,其在光电感烟探测器电路设计时,有着举足轻重的作用。

设计经验    发布时间 : 2019-09-03

世界上最节能的微控制器EFM32之十大低功耗奥秘

Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。

新产品    发布时间 : 2016-07-11

在调试32bit低功耗MCU EFM32ZG110的ADC模数转换外设时,发现ADC对应的这路引脚会有100uA的拉电流,导致功耗偏大,ADC转换也不准确。怎样解决?

当使用32bit低功耗MCU EFM32ZG110的ADC模数转换外设时,需要把对应的GPIO口设置为disable模式,并且输出寄存器out值应该设置为0。如果GPIO的输入输出模式设置为input模式时,会导致ADC工作不正常。详细描述请查看EFM32ZG110的用户手册第358页。部分摘要如下:Setting MODEn to 0b0000 disables the pin, reducing power consumption to a minimum. When the output driver is disabled, the pin can be used as a connection for an analog module (e.g. ADC). Input is enabled by setting MODEn to any value other than 0b0000.

技术问答    发布时间 : 2017-05-05

Silicon Labs EFM32系列32位低功耗MCU Cortex系列微控制器采用的软件接口标准CMSIS有哪些特性?

嵌入式系统越来越复杂,开发和软件测试的工作量也显著增加,为了减少开发时间并且降低产品中存在的风险,软件重用已经越来越普遍。为了各种软件产品间的配合,ARM同各大 微控制器供应商、工具供应商和软件解决方案提供商一起开发了CMSIS,一个涵盖了大多数Cortex-M处理器和Cortex-M微控制器产品的软件框架。 CMSIS的设计目标和特性包括以下几点: 1、提高软件的可用性。 2、提高软件的兼容性。 3、独立的工具链特性。 4、开放性。 5、易用性。

技术问答    发布时间 : 2017-10-10

Silicon Labs 32位低功耗MCU EFM32GG990芯片脉冲计数器(PCNT)是否可以通过其他引脚来控制PCNT的计数方向?

可以。PCNT可以作为外设反射系统(PRS)的消费者,将PRS输入信号作为S0IN和S1IN的输入。因此只需要将其它引脚作为PRS的生产者,并在PCNT中将相应 通道选择作为S1IN的输入,通过以上配置即可使用其它引脚控制PCNT的计数方向。

技术问答    发布时间 : 2017-10-10

【产品】20年不用换电池!这款低功耗MCU就是这么任性

C8051F96x是Silicon Labs推出的一款功耗比同类产品降低40%的超低功耗MCU,电池寿命可达20年,是智能仪表、家用装置监测、便携式医疗等产品的理想选择,也可提供完整的低功耗sub-GHz无线解决方案。

新产品    发布时间 : 2016-10-24

Silicon Labs 32位低功耗MCU EFM32G232F128系列微控制器GPIO的最大翻转速度为多少?

EFM32G232F128系列微控制器GPIO的最大翻转速度为系统时钟的1/6。例如,当主频为32MHz时,GPIO最大翻转速度大约为5.3MHz。

技术问答    发布时间 : 2017-10-10

技术问答    发布时间 : 2017-10-10

Silicon Labs EFM32系列32位低功耗MCU Cortex-M3内核嵌套向量终端控制器(NVIC)有哪些特性?

1、支持最多240个中断输入、不可屏蔽中断输入和多个系统异常。除了NMI外,每个中断都可以被单独使能或禁止。 2、中断和多个系统异常具有可编程的优先级。对于Cortex-M3/M4,优先级可以在运行时动态修改(注意,Cortex-M0/M0+不支持优先级的动态修改)。 3、嵌套中断/异常以及中断/异常按照优先级自动处理。 4、向量中断/异常。意味着处理器会自动取出中断/异常向量,无需软件确定产生的是哪个中断/异常。 5、向量表可以重定位在存储器中的多个区域。 6、低中断等待。对于具有零等待状态的存储器系统,中断等待仅为12个周期。 7、中断和多个异常可由软件触发。 8、多个优化用于降低不同异常上下文切换时的中断处理开销。 9、中断/异常屏蔽功能可以将所有的中断和异常(NMI除外)屏蔽掉,或者将中断/异常屏蔽为某个优先级之下。 为了支持这些特性,NVIC使用了多个可编程寄存器。这些寄存器经过了存储器映射,而CMSIS-Core则为大多数常见的中断控制任务提供了所需的寄存器定义和访问函数 (API),这些访问函数非常已于使用。

技术问答    发布时间 : 2017-10-10

Silicon Labs EFM32系列32位低功耗MCU存储器保护单元MPU有什么作用,什么情况下需要使用MPU功能?

MPU为Cortex-M3、M4处理器中的可选特性,微控制器供应商可以决定是否使用MPU。MPU为监控总线传输的可编程设备,需要通过软件(一般是嵌入式OS)配 置。若MPU存在,应用程序可以将存储器空间分为多个部分,并为每个部分定义访问权限。当违反访问规则时,错误异常就会产生,错误异常处理则会分析问题,而且如果可能,还 可将错误加以修复。 MPU可以有多重使用方式。一般情况下,OS会设置MPU以保护OS内核和其他特权任务使用的数据,防止恶意用户程序的破坏。而且OS也可以选择将不同用户任务使 用的存储器隔离开来。这些处理有助于检测系统错误,并且提高了系统在处理错误情况时的健壮性。 MPU也可以将系统配置为只读的,防止意外擦除SRAM中的数据或覆盖指令代码。 MPU默认禁止,若应用不需要存储器保护特性,就无需将其初始化。

技术问答    发布时间 : 2017-10-10

Silicon Labs 32位低功耗MCU EFM32ZG210F32是否支持Audio jack音频接口通讯?

Silicon Labs 32位低功耗MCU EFM32ZG210F32支持Audio jack音频接口通讯,通过Timer定时器的捕捉功能实现的。原厂有提供音频通讯的参考代码,请参考AN0054。

技术问答    发布时间 : 2017-10-10

Silicon Labs 32位低功耗MCU EFM32LG系列的USART 作为 SPI 主模式时可以自动控制 CS 片选引脚吗?

Silicon Labs 32位低功耗MCU EFM32LG系列的USART 作为 SPI 主模式时可以自动控制 CS 片选引脚。 在 SPI 主模式下,需要先在 GPIO 模块中配置 CS 对应输出引脚为推挽输出模式,然后使能 USARTn_ROUTE 寄存器中 CSPEN 位,并置位 USARTn_CTRL 寄存器中AUTOCS 位即可自动产生片选信号。

技术问答    发布时间 : 2017-10-10

Silicon Labs 32位低功耗MCU EFM32JG的在外部高频振荡器HFXO的频率范围要求多少?

Silicon Labs 32位低功耗MCU EFM32JG的外部高频振荡器HFXO的频率范围是38-40MHz,它允许的最低频率是38MHz,这比Classic系列的EFM32允许的(4MHz)高很多。

技术问答    发布时间 : 2017-10-10

展开更多

电子商城

查看更多

只看有货

品牌:RENESAS

品类:MCU

价格:¥66.5616

现货: 20

品牌:RENESAS

品类:microcontroller

价格:¥2.8532

现货: 37,726

品牌:RENESAS

品类:microcontroller

价格:¥32.9564

现货: 20,089

品牌:RENESAS

品类:microcontroller

价格:¥34.6288

现货: 9,278

品牌:RENESAS

品类:MCU

价格:¥20.8557

现货: 8,299

品牌:RENESAS

品类:microcontroller

价格:¥23.4136

现货: 6,016

品牌:RENESAS

品类:microcontroller

价格:¥32.3660

现货: 2,192

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.7407

现货: 2,000

品牌:RENESAS

品类:microcontroller

价格:¥176.8219

现货: 1,489

品牌:RENESAS

品类:microcontroller

价格:¥38.8591

现货: 856

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥106.2000

现货:2,268

品牌:MICROCHIP

品类:MCU

价格:¥6.6000

现货:100,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.2400

现货:90,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.9400

现货:80,000

品牌:华大半导体

品类:32位微控制器

价格:¥3.1498

现货:47,341

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.7900

现货:40,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.4019

现货:39,000

品牌:兆易创新

品类:IC

价格:¥4.8932

现货:27,000

品牌:国民技术

品类:微控制器

价格:¥18.7261

现货:25,138

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

3C认证/CCC认证

支持微型计算机 、便携式计算机显示设备、投影仪、打印设备、绘图仪、多用途打印复印机、扫描仪、计算机内置电源、电源适配器、充电器、服务器、收款机等产品中国强制性产品认证。

提交需求>

VC散热器定制

可定制均温板VC最薄0.4mm,有效导热系数超5,000 W / m·K(纯铜(401 W/m·K ,石墨烯1,200 W/m·K)。工作温度范围同时满足低于-250℃和高于2000℃的应用,定制最低要求,项目年采购额大于10万人民币,或采购台套数大于2000套。

提交需求>

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面