IMX283学习笔记更新.docx

上传人:b****6 文档编号:4722268 上传时间:2022-12-07 格式:DOCX 页数:12 大小:895.69KB
下载 相关 举报
IMX283学习笔记更新.docx_第1页
第1页 / 共12页
IMX283学习笔记更新.docx_第2页
第2页 / 共12页
IMX283学习笔记更新.docx_第3页
第3页 / 共12页
IMX283学习笔记更新.docx_第4页
第4页 / 共12页
IMX283学习笔记更新.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

IMX283学习笔记更新.docx

《IMX283学习笔记更新.docx》由会员分享,可在线阅读,更多相关《IMX283学习笔记更新.docx(12页珍藏版)》请在冰豆网上搜索。

IMX283学习笔记更新.docx

IMX283学习笔记更新

我的EasyARM-i.MX283学习笔记

1、前记

对于ARM9没有什么基础,硬要说对ARM了解的话,我会STM32,也算对ARM半个入门了。

去年看到ZLG的IMX283开发套件时,那时很想买,但终究没买。

究其原因,当时正在学习STM32。

其实我作为硬件工程师(自诩),学习过很多单片机,例如51、MSP430、STM32,当然还有专业课上的FPGA当然,已有一年多没接触了。

这些芯片,可要说会也不是特别精通,可要说不会但毕竟也学过一段时间。

这一路过来,反正也是懵懵懂懂,图个新鲜感。

很多东西学过后就忘记了,现在呢就养成了写一些自学笔记的习惯。

然而大多说自学笔记都是以初学者的眼光和思维去看待和解决问题。

以前学完51后学习430的时候,对430的系统时钟更是一头雾水。

因为430有主时钟、子时钟以及辅助时钟这三种时钟信号,而产生时钟信号的时钟源又有几种,如外部8M高速晶振,32K低速晶振或者单片机内部的DCO振荡器。

因为学习51的时候,没有配置时钟系统这一概念,因为就一个12M的外部时钟。

那时候学习430断断续续的也不是很懂,再后来学STM32,32位的单片机系统时钟就更复杂了,各种时钟源,主系统时钟往往是通过外部8M晶振进行9倍频,产生72M的系统时钟,又有各种分频器到各种外设。

但当把STM32的这些学过一遍后,前段时间我又开始重新学习430,遂发现430的系统时钟亦不过如此。

当然上面的这段话也是我突发感想而已。

记得群里有同学说他学Linux的时候也是云里雾里,但是突然就有一天就豁然开朗了。

我想就跟我前段时间学习430一样的感觉。

貌似写了一段过往感想和总结,跟本文IMX283不搭边。

但对于283这块开发板,我要学习到什么程度我也不知道,没有前辈告诉该先学什么再学什么,也没有一个学习的计划。

既然没学习计划,我就做个学习计划。

初学第一阶段计划

1、学会安装操作系统

2、学会串口调试

3、点亮LED灯

4、用一下它的4位数码管

5、使用一下32位定时器

没有了,初学阶段就是这些了。

这是以硬件的眼光需要学习的内容。

Linux操作系统,也就只能在上述计划中慢慢接触了解了。

前记就先写到这吧,以后再补吧。

2015年5月10日

2、关于IMX283A开发板

五一后淘宝店买的,包装挺精致的。

拆开后有一块主板、一块功能板、还有一块触摸屏以及一些零散的东西。

其实拿到后并没有我想象的那么大,这开发板做得真小巧。

照片拍得显大了,其实没这么大。

手机像素就这样。

除少部分滤波电容电感外,整板几乎是0402贴片封装。

元器件旁边的白色丝印有少许看不清,但是接插件这块看的还可以很清楚,不过SMT机贴倒也没关系。

官网上的照片都是正面的,没有背面的,开始我以为主板上只有一颗IMX283的芯片和一颗DD2,没有Nandflash,那不是只能从SD卡启动了。

拿到板后才发现NAND在背面板。

背面我揭下白色标签纸后发现,还有一个BGA的封装,没有焊接。

在BGA的上方还有一块芯片也没焊接。

能看见一个板状天线,有可能是一个无线模块,但极有可能是一个WIFI模块。

我认为ZLG这块主板不只是给我们学习这么简单,估计还有别的用途。

另外,下载的资料连个原理图都没有,好多芯片也不知道叫什么名称,学习起来挺被动的。

我估计这块主板PCB应该是4层板,如果是6层的话成本要高许多了。

功能板为双层板,我挺喜欢的。

既然说到PCB了,主板的机壳地和信号地是通过一个电容和1M电阻并联接在一起(见上图标注),但是功能板PCB机壳地(螺丝孔)却是信号地直接连在一起了。

估计设计的时候,可能认为主板的机壳与功能板的机壳是不会连在一起吧,但实际是有可能好吗!

敷铜地面和顶面都有,通过许多过孔相连,增加系统的稳定性。

但我最要吐槽的就是网口了,这是一个塑料接口,怎么也该弄个金属屏蔽壳啊!

好吧,先写到这儿吧,这是拿到后的直观感受。

2015年5月16日

3、EasyARM-i.MX283学习-----5个月我学了什么?

五一买的开发板,现在已是十一国庆了。

学习也是断断续续的,有时一个星期不去管它,有时兴起弄到深夜。

我工作中用不到ARM9,一般的单片机就可以完成相关项目,平时上班都是调试维修仪器,学习基本都是在周末,或者晚上。

看到前面的日记,我想我大概已经一只脚迈进ARM9的大门了。

一些基本的内容应该算是完成了,除了定时器那一节。

作为初学者,且谈谈自己是怎么把那半只腿迈进来的。

参考ZLG的两份资料

《嵌入式Linux开发教程(上册)》和《EasyARM-iMX28xxLinux开发指南20150527V1.02》。

我总觉着这两份是互补,但后来前一份资料ZLG给取消了。

我上传一份,里面有三个,有一份是他们后来更新的。

三份穿插阅读,有所同,亦有所不同。

XX盘:

其学习顺序大致如下:

1、关于Linux的简单命令

我其实也只会一些简单的比如,ls、cd、rm等几个常用的,以及vi编辑器,

还有权限操作chmod777,和如何让开发板和电脑网络连接,也就要是

ping得通。

其他的也就需要什么就查什么,也没特别注意。

2、设置nfs共享目录

nfs操作在我看来非常必要,因为写好程序不必要拷贝到开发板中,直接

在Ubuntu虚拟机进行nfs网络文件共享就好了。

当然初学时也会遇到很

多问题,但这并不是关键,总会解决的。

3、交叉gcc编译器和整个Linux开发环境的搭建

这部分很关键,好在教程很多。

我是参照《嵌入式Linux开发教程(上册)》

搭建好的。

4、学会Eclipse写程序

其实我也是学习过makefile文件该如何编写的,但后来就没弄了。

为我开始使用集成开发环境了,也就是eclipse这个平台了。

不像一开始

什么都用Vi编辑器写。

eclipse下也不用写makefile文件,点个编译按钮

即可完成编译了。

写好程序后,点击编译按钮,编译无误后。

将生成的文件复制到共享

目录下,网络通信正常后,在开发板上执行就可以了。

以上就是我觉得写一个LED程序在开发板上运行,最快的做法。

按照《嵌入式Linux开发教程(上册)》的内容,我照着做到了它上面一个一个做,自己也略作思考。

做到了它给的综合实验---环境温度的检测和报警系统。

注意,这个综合实验在《。

开发指南。

》上是没有的。

这个实验我觉得挺综合,也挺适合初学者的入门总结。

该实验涉及有文件设备读写操作、ADC、数码管、按键、IO口、SPI、I2C等操作;其中还有一项我自今没学会的多线程操作。

Eclipse下linux如何编程也有体现,比如C语言模块化编程,项目如何管理等等;

之后我会写一个集成开发环境下的LED该如何编程。

差不多这些知识总结快写了2个小时,我平时时间还是很多的,就是不想动。

想起了那句名言:

懒惰是阻碍成功的最大关卡。

关于接下来该学习什么,怎么学习做一个规划:

1、Qt编程

我是真不知道该怎么弄了,没有C++基础;虽然这段时间也看了看C++,

总觉得不是一两天能成事的。

相关的Qt资料也看了一大把,也是云里雾里,

不知如何下手。

这是为关键!

2、关于Linux下的多线程编程

多线程,资料很多,多花时间应不成问题。

3、对有些知识的再学习

好多东西就是太多了,反而不知道怎么办了。

再梳理一下应该是必要

的。

4、作为一个硬件工程师,我算是在软件的天堂走了一圈了。

ARM这个平台,原理该如何设计,最小系统如何搭建,DDR和NAND

的设计和走线方法(虽然我没这个条件去打样,可还是要深入研究)。

说到硬件设计,怎么说也说不完了,不说了!

4、EasyARM-i.MX283学习之点亮LED灯

1、按照教程安装好eclipse:

参照10.4节的做法

2、操作步骤

2.1新建工程file->new->project

2.2在C/C++,那栏选Cproject

2.3给工程取个名字led后,然后下一步

 

2.4工程建好之后,开始新建我们需要的代码文件了

建三个文件分别是main.cled.cled.h,其实建一个main.c就可以了,但

小工程也可以往细了做。

file->new->sourcefile是创建c文件,file->new->headerfile是创建.h文件。

 

2.5文件创建好后,如下所示

2.6设置编译器的编译环境

2.7编写相应C语言代码

代码XX网盘:

代码注释较少,因我的Linux下没有中文输入法,结合《嵌入式Linux开发

教程(上册)》,应该较易理解。

2.8编译连接

选者buildproject

eclipse下如何查找文件定义的位置和头文件;快捷键F3

网友办法:

2.9生成的文件如下,最下面绿颜色的led文件就是我们生成的可执行文件。

makefile文件也是设置好交叉编译器自动生成的。

2.10如何把生成的led文件放到开发板上执行

通过nfs文件系统,或者将led文件复制到开发板上。

eclipse支持远程GDB,我当时试的时候弄了半天,文档上也是一笔带过,后来终于弄好了,但也没有远程GDB过。

有关GDB,可以参考这篇博客

假设已经共享了,执行led文件./led就可以观察到led的闪烁了。

关于NFS共享,按照相关资料应该很容易,就不在写了

2.11设置成开机自动运行led灯

说到这,当时我只想试一下不加“空格&”的结果是什么,结果执行后一直无反应,按什么都不起作用,只能够重新装系统。

以前还能通过OTG接口刷机,当OTG怎么也不成功;后来不得已用存储卡刷机,我当时还以为坏了。

多花时间折腾多少是有好处的;期间有网友告诉我使用uboot下挂载根文件系统,当时也没有做成功,但这个方法是肯定的。

这是修改后的,保存后,开机立即执行了;

2.12如何关闭这个led

每次开机之后,led灯不停闪烁,再次执行led文件,发现也无法关闭;这是使用kill命令,终止进程;

首先输入ps查看进程,找到相应进程然后kill进程

如:

kill1183结束led进程;

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1