历史上的今天
返回首页

历史上的今天

今天是:2025年05月16日(星期五)

正在发生

2020年05月16日 | MINI2440和GQ2440烧录问题

2020-05-16 来源:eefocus

声明:以下是自己使用GQ2440和MINI2440的学习过程,仅供参考。

刚学习嵌入式Linux时候,可能会接触到很多的知识点,内核,根文件,引导什么的,对于新手来说是相当的苦恼,而且很多问题其实只是某些配置,安装环节的失误导致后续工作根本进行不下去,我一开始使用了国嵌的教程来进行学习的,一开始就因为各种驱动安装失败的问题困扰了很久。


在解决了些硬件上的问题后,一头扎进了supervivi,和uboot的世界(实际刚学的时候建议不要去碰太多这些东西,真的头痛,其实就是类似与windows中开启的BIOS差不多的,友情说明下国嵌里自带的supervivi是不能用的。),很多的教程都是介绍JTAG进行BIOS的烧录,但是一般大部分人都是使用“正版”J-Link来进行烧写的,MINI2440的用户手册没有介绍,建议可以看下国嵌的BIOS烧入。好不容易把supervivi 烧进了Nor-flash里。但是在烧入内核的阶段就一直失败了。检查了很久也没找到问题,浪费了很多时间。后面就换了MINI2440来使用,因为MINI2440已经烧入了好了bootloader和OS,因此其实是可以直接做一个体验再去了解其他的,但是我也不知道我做了什么操作,导致了后面的NOR-FLASH和NAND-FLASH切换没有任何的作用,直接启动启动(求教),以至于SD卡烧入不能实现,我猜想应该是和引导有关把,于是我尝试烧入一下bootloader到Nor-flash里,但是发现J-LINK都连不上,因为之前的GQ我是可以正常烧入bootloader的,于是我又还回来了,这次烧入的是MINI2440里提供的supervivi,支持SD卡的快速烧入系统,只能说黄天不负有心人,终于烧入系统成功了,可以进行下一步的学习了。下图是串口打印的信息,之后切换到NAND-FLASH就可以启动系统了。

       

典型嵌入式linux系统启动过程

1.典型嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的>Flash)上、OS部署在FLash(嵌入式系统中用Flash代替了硬盘)上、

内存在掉电时无作用,CPU在掉电时不工作。

2.启动过程:嵌入式系统上电后先执行uboot、然后uboot负责初始化>DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS

(OS启动后uboot就无用了)


norflash:非易失闪存,是一种外部存储介质,芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中,由于它有地址总线,cpu可以直接从norflash中取指,直接从FLASH中运行程序,但是工艺复杂,价格比较贵,容量较小(1~4M),NOR的传输效率很高


nandflash:它也是非易失闪存(掉电不丢失)的一种,但是它虽然有数据总线,但是没有地址总线,所以cpu不能直接从nandflash中取指运行,由于它价格便宜,所以常常用来存储大量数据,和我们常说的似。


嵌入式Linux一般开发流程

1.建立开发环境

2.配置开发主机

3.建立引导装载程序BOOTLOADER

4.下载别人已经移植好的linux操作系统

5.建立根文件系统

6.建立应用程序的FLASH磁盘分区

7.应用开发


一般是开发过程中是先把uboot载到nor中,然后通过nor中的uboot再把uboot跟linux 内核,根文件系统下到nandflash,它的最终位置应该是在nandflash。。。至于nor跟nand有什么区别,nor里面的代码可以直接运行,不需要加载到RAM(内存),而nandflash里面的代码需要加载到RAM才能运行,nor的速度没有ram快,所以一般最终版本的代码应该下载到nand,系统启动的时候会自动拷贝nand里面的前面4k代码到ram中,你这4k的代码必须完成硬件初始化并且把其余的代码全部拷贝到ram中。

推荐阅读

史海拾趣

Abbatron公司的发展小趣事

在电子行业的发展过程中,Abbatron公司也面临着各种挑战和危机。某年,由于原材料价格的大幅上涨和市场竞争的加剧,公司面临着巨大的经营压力。然而,Abbatron公司凭借其强大的研发实力和敏锐的市场洞察力,及时调整战略,通过优化生产流程和降低成本等措施,成功度过了危机。

ELINA INDEK公司的发展小趣事

因美纳(Illumina)公司成立于2000年,起初是一家专注于基因测序技术的小型企业。在创始人Jay Flatley的领导下,公司成功研发出了一系列高性能、低成本的基因测序仪器,使得基因测序技术从昂贵的实验室研究工具转变为广泛应用的医疗诊断工具。这一技术突破不仅为因美纳赢得了市场份额,也为整个医疗行业带来了革命性的变化。

HIT(日立)公司的发展小趣事
在电路中设置过流、过压等保护电路,以防止电路在异常情况下损坏或引发安全事故。
Circuit Assembly公司的发展小趣事
在电路中设置过流、过压等保护电路,以防止电路在异常情况下损坏或引发安全事故。
Electronic公司的发展小趣事

小米,作为一家年轻的科技公司,在电子行业的发展中展现了惊人的成长速度。小米凭借出色的产品设计和创新的营销策略,迅速在手机市场获得了巨大成功。随着业务的不断拓展,小米还涉足了智能家居、物联网和互联网金融等领域,形成了完整的生态布局。小米通过提供高性价比的产品和优质的服务,赢得了大量年轻用户的喜爱和支持。

ARCOL公司的发展小趣事

随着电子技术的飞速发展,ARCOL公司意识到只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了对研发的投入,积极引进先进的生产设备和技术,不断推出创新性的产品。通过不断优化生产工艺和提升产品质量,ARCOL的产品在市场上逐渐占据了领先地位。

问答坊 | AI 解惑

安全并网的程序实现方法

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑 今年电子设计大赛湖北省关于电源类的预测题中引入了并网的技术,我们尝试了这个题目。最后实现了逆变后的安全并网,没有像别的组一样狂烧MOS管。 主要技巧在于: 1.时刻追踪市电电压的相位,保证自 ...…

查看全部问答>

mini2440基本平台的搭建

由于论坛中买mini2440开发板的人很多,但是大多数人是初学者,我有个想法就是我们大家一步步开始建立属于自己的开发平台,自己建立自己的u-boot,limux内核,文件系统,驱动。 不知道大家的意见如何呢? 可以讨论一下,自己对什么感性趣,都可以说 ...…

查看全部问答>

新手拜求C6000 ccs的简易教程

    本人是新手 刚开始学ccs,网上搜的都是没有c6000系列的新手教程。拜求哪位能给个链接 下载教程的地方?…

查看全部问答>

请问winCE下做界面用qt可不可以?

    现在导师要求把一个c#做的PDA程序改成C++的,可是我从没接触过MFC,前几天看了一下,看的太郁闷了,而且我以前做过一段时间的嵌入式QT,貌似QT也可以在winCE下使用?所以想用Qt来做界面,想请教下各位大侠,winCE下用Qt编程有什么限 ...…

查看全部问答>

cf 2k bios

我有一块嵌入式主板,型号是sbc3662 ,插上sandisk 的cf卡 容量2g 可以安装2k系统没有问题,用Transcend的133X,4G时,bios可以识别硬件,安装windows时就提示没有硬盘,很奇怪啊,这块创见的cf卡我用它在其他台式机上装过xp系统,应该微软是能识别 ...…

查看全部问答>

DTR引脚在连接GPRS中作用?

如果串口中没有DTR引脚,怎么用AT指令连接GPRS? 发完\"AT\\r\"; \"AT+CGDCONT=1,\\\"IP\\\",\\\"CMNET\\\"\\r\"; \"AT*E2IPA=1,1\\r\"; 之后是不是要DTR一个脉冲才能发送 \"AT*E2IPO=1,\\\"\"; \"ip\" \"\\\",\"; \"port\" \"\\r\"; 如 ...…

查看全部问答>

求助:mobile上的ActiveSync问题

我的三星2350设备,当我没有装上蓝牙设备的时候 Activesync一起正常,但是当我安装上蓝牙驱动的时候,ActiveSync就很难连接, 而且连接上的情况下,我断开usb连线,系统老是报Error:608的错误。各位帮帮忙,是不是和注册表哪块设置有关? 谢谢…

查看全部问答>

急,为什么菜单不显示?

代码如下,状态栏和工具条都可以正常显示,菜单却不显示,是怎么回事?急         if (!m_wndStatusBar.Create(this) || !m_wndToolBar.CreateEx(this, TBSTYLE_DROPDOWN | TBSTYLE_TOOLTIPS|TBSTYLE_FLAT, WS_VISIBLE|WS_CHI ...…

查看全部问答>

有谁在用f28m35h52c吗?

XDS100支持该系列不?…

查看全部问答>

FPGA采集系统的模块设计

FPGA的内部应该包括哪几部分呢,新手求助…

查看全部问答>