arm9开发板原理 高性能arm9开发板应用技巧

首先学习基本的单片机编程。对于学硬件的人来说,首先要对硬件的基本用法有感性认识,更重要的是要对硬件的控制方式有深刻的了解。如果他们一开始就学习Linux系统,学习移植,会立刻陷入深深的漩涡。刚开始学ARM的时候,我选择了ARM7(主要是因为当时ARM9还很贵)。学ARM7的时候...

首先学习基本的单片机编程。

对于学硬件的人来说,首先要对硬件的基本用法有感性认识,更重要的是要对硬件的控制方式有深刻的了解。如果他们一开始就学习Linux系统,学习移植,会立刻陷入深深的漩涡。刚开始学ARM的时候,我选择了ARM7(主要是因为当时ARM9还很贵)。学ARM7的时候,还是保持着学51单片机的思路,用ADS编程。第一个实验是控制led。一段时间后,学ARM的人会嘲笑这种笨办法,其实不是。我觉得有这个流程会好很多,因为再复杂的系统,最终都会在这些最底层的硬件控制中实现。所以,对这些硬件控件有个感性认识就好很多了。学习单片机编程时,要对硬件结构和控制原理有很好的了解。我称之为理解硬件。理解硬件就是理解这个硬件是如何组织这么多资源的,以及这些资源是如何被cpu和编程控制的。比如s3c2410有AD转换器,GPIO(通用IO口),nandflash控制器。这些东西是由一些寄存器控制的,这些寄存器都有一个地址。那么这些地址是什么意思呢?如何通过寄存器控制这些外围设备的运行?还有,norflash中的每个单元在这个芯片的内存中都有对应的地址单元,那么这些地址和刚才提到的寄存器地址是什么关系呢?它们是一样的吗?但是norflash对应的nandflash中的存储单元并不是线性放电的,那么s3c2410是如何将nandflash的地址映射到memory 空上使用的呢?或者简单的说我应该如何使用nandflash?此外,当使用ADS对ARM9系列进行编程时,您需要使用一个初始化的汇编文件。这个文件有什么用?他体内的密码是什么意思?我能要这个吗?这些都是对硬件的理解。了解了这些,你对硬件就有了深入的了解,对以后的进一步学习有很大的帮助。如果你跳过这一步,我相信你以后越学越糊涂,这文笔就越深不可测。因为你的基础没有打好。

其次,用linux系统做一些基础实验。

买一套板,一般会提供一些linux的实验套路。暂时把这个做好。这个过程也很有意义,也为进一步学习积累了感性认识。你能想象一个没用过linux系统的人能学好linux编程吗?按照手册上的套路做实验。虽然有些娃娃学走路有点弱智,但是我想很多专家都会经历这个过程。这方面我们深蓝科技目前没有计划提供相应的套路,主要是开发板的提供商会提供丰富的套路。我们不做重复性的工作,只提供他们没有的最有价值的东西。

第三,研究完整的linux系统的运行过程。

一个完整的linux系统由哪些部分组成?第三部分:bootloader,linux内核(linux内核)和rootfile(根文件系统)。那么这三个部分是如何相互配合形成这个体系的呢?各有什么用?三者之间有什么联系?怎么联系?系统的实现流程是怎样的?知道了这个问题,你就清楚了整个系统的操作,这也就为下一步做这个linux系统打下了又一个重要的基础。你可以在网上找到大量这方面的信息,所以你自己去研究吧。

第四,开始移植系统。

如上所述,一个完整的linux有三个部分,你知道它们之间的关系和功能。现在,你要做的就是学会自己制作这些东西。当然,我不能要求你写这些代码。不会发生的。其实三者都可以从网上下载相应的源代码,只是这个源代码不能下载编译后才能在你的系统上运行。它需要大量的修改,直到它可以在你的板上运行。这个修改过程叫做移植。在移植的过程中,你要学习很多,了解很多。当你完成这个过程,你会发现你是一个初出茅庐的高手。在这个过程中,如果你有很大的研究精神,你一定会想看看源代码。很多书告诉你如何阅读linux源代码。我不提倡漫无目的的看linux源代码。用许三多的话说,这毫无意义。当您认为在进行迁移时必须查看源代码时,可以找一本基础的好书。这里推荐一本好书,倪的《linux内核的分析与编程》,这是一本针对linux-2.6.11内核的书。很有深度,建议你先提高C编程水平再看。至于移植的每一部分,网上也能找到成吨的资料,可以自己研究。但是,你不得不提醒,很多关于你经历的事情,或多或少都是有所保留的。如果你按照他说的去做,总会有一些问题,但他不会告诉你怎么解决。这个时候,你就得靠自己了。如果你不靠谱,可以跟我学习。我不能保证我能解决你的问题,因为我可能没有遇到过你的问题,但我相信我能给你一个。这一步的最终目的是从源码官方主页(全是国外的,sad)下载标准源码包,然后修改,最后在板上运行。阿基米德偷来的话:“给我一根网线,我就能修好linux”。

第五,学习linux驱动的编写。

移植系统不是最终目的。最终目的是开发产品和项目,这些都需要开发驱动。Linux驱动可以说是五花八门。linux2.4和linux2.6有一个相当大的区别,就是都是linux2.6,但是不同版本的驱动也有区别。所以写Linux驱动不是那么容易,最新版本的驱动参考也不够多。那么我的建议是使用并移植一个不是很新的版本内核,这样就会有足够的信息用于学习驱动编程。这部分的推荐书籍请参考另一篇文章《学习嵌入式Linux的推荐书籍》。第六,学习应用程序的编写。除了写驱动,最后还要写应用程序。现在的趋势是图形应用的发展,qt/e函数库是应用最广泛的一种。我一直在用这个函数库开发自己的应用,但希望你能用国产MiniGUI函数库。周杰伦偷换的广告词是“支持国货和MiniGUI”。MiniGUI的编程类似于Windows下的VC编程,简单易用,效果相当不错。我用它来开发ARM7程序。记住,问题是最好的学习机会。

本文来自秦楚殇投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/475502.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 03-25
下一篇 03-25

相关推荐

  • 糖豆人免费了吗?是哪个国家公司开发的

    今天,“糖豆男”在微博上上了热搜,引起了很多公众的关注。据了解,糖豆人宣布将于6月21日免费玩。很多朋友都很好奇。糖果豆人游戏是哪个国家的公司开发的?让我们仔细看看。5月17日凌晨2点,糖豆官方微博宣布,将于6月21日在Switch、Xbox、PlayStation、Epic游戏商城更新全

    2023-07-28 20:58:01
    775 0
  • 微信是谁开发的 微信是谁弄的平台

    不知不觉中,微信已经取代了短信、电话,甚至QQ,成为了我们生活中最常用的社交软件,也成为了大多数人依赖的软件。有多少人早上睁开眼第一件事就是看微信,晚上睡觉前最后一件事就是再刷一遍朋友圈。微信已经悄然改变了我们的生活,给我们带来了新的交友和交流方式。张小龙作

    2023-07-28 09:50:01
    501 0
  • app开发流程八个步骤 开发一款APP的基本步骤

    随着互联网技术的快速发展,移动智能终端得到了广泛应用,移动互联网已经成为当前商家的主流营销方式。这种营销方式既降低了企业的营销成本,又提高了营销效果。越来越多的企业开始定制开发自己的app,那么开发一个app的基本步骤是什么呢?一、初步接触目前企业普遍采用与第三

    2023-07-27 12:27:01
    256 0
  • 游戏app开发需要多少钱 手机游戏app开发制作方法

    众所周知,现在游戏制作的引擎有很多,如虚幻,U3d等,而定位器上面也出现了少部分制作游戏的软件,接下来瞎编按操作难度来分类。众所周知,游戏制作引擎有很多,比如虚幻、U3d等。,还有少量游戏制作软件出现在定位器上,然后按照操作难度分类。脚本编辑器名称:脚本编辑器制

    2023-07-23 09:31:02
    197 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信