![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
omapl138
明故宫的记忆
吾生也有涯,而知也无涯。以有涯随无涯,殆已……
展开
-
omapl138 ARM核 之CCS6下切换特权模式
1 .1 ARM的特权模式 为什么同样的串口驱动在DSP上可以顺利应用,把它放在ARM上去应用却不行了呢?那么很有可能是你的ARM还处于用户模式,用户模式下的ARM有些寄存器是无权限访问的,比如系统配置寄存器,无法访问系统配置寄存器,那么就无法配置GPIO,所以串口的引脚初始化就做不了了,在这里先解释下ARM的运行模式: ARM一共有七种运行模式,除了...原创 2018-09-11 21:24:32 · 781 阅读 · 0 评论 -
omapl138移植uboot系列之添加MTD分区(第七篇)
如果你刚刚使用仿真器的方式烧录了uboot镜像,你肯定会感叹实在是太慢了,先别叹气,看完本节你将爱上烧录程序。2.6.1 添加MTD分区 MTD(memory Teachno Device)中文翻译为“内存技术设备”,是Linux系统对“NorFlash”,“NandFlash”等存储设备抽象出来的一个设备层,它向上提供统一的访问接口,屏蔽底层硬件的操作,而uboot中分区只...原创 2018-10-21 14:10:11 · 2095 阅读 · 2 评论 -
omapl138移植uboot系列之添加点亮led命令(第六篇)
2.5 uboot命令体系 刚刚你是否注意到,uboot启动后会先进入一个3s的倒计时,在倒计时变成0之前,敲打键盘的任意键,都会进入uboot的命令行状态,在此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。每一个uboot的命令背后都对应一个函数。这就是uboot实现命令体系的一种思路和方法。进入uboot控制界面后,可以运行各种命令,比如下载文件到内存,擦...原创 2018-10-21 14:06:10 · 846 阅读 · 0 评论 -
omapl138移植uboot系列之移植板卡(第五篇)
上节操作完成后,虽然uboot中有了我们自己的板卡,但并未进行移植,所以现在是还不能烧录的,本节将带领大家根据自己的板卡进行uboot移植。2.4.1 图形界面下配置 命令行执行 make menuconfig,出现如下界面 方括号[ ]中的“*”代表编译链接时添加该模块,为空则不参加编译链接,这就是uboot的裁剪功能。因为我们的启动介质是SP...原创 2018-10-21 13:58:04 · 926 阅读 · 1 评论 -
omapl138移植uboot系列之添加属于我们自己的板卡(第四篇)
在第一章节,我们已经编译好了一份uboot,但它是适用于TI自己的omapl138_lcdk开发板的,并不适用于我们的板卡,本章将带领大家在uboot中添加639A板卡。 2.3.1 向board中添加属于自己的板卡 board目录下每一个终极文件夹都是一块板卡的片上驱动程序,TI 工程师们移植过的omapl138_lcdk板卡位于board/davinci/d...原创 2018-10-21 13:34:51 · 962 阅读 · 0 评论 -
omapl138移植uboot系列之启动内核原理(启动内核第三篇)
uboot启动内核原理看完上一节,你应该已经学会如何启动内核了,但只会启动内核是不行的,我们的目的是令内核按照我们的想法去运行,这就不得不提一下内核传参机制。3.3.1 还是bootm内核启动不是无条件的,而是有一定的先决条件,这个条件由启动内核的bootloader(我们这里就是uboot)来构建保证。Linux规定了一种“向我传参“机制,那么uboot要是还想启动Linux内核...原创 2018-10-28 18:00:32 · 651 阅读 · 1 评论 -
omapl138移植uboot系列之修改移植TI官方移植的Linux内核(启动内核第二篇)
修改Linux内核源码 实际上,刚刚我们已经成功的启动了TI移植过的Linux内核,但是从串口控制台的现象来看,“Starting Kernel”之后什么信息都没有输出,这就需要我们在TI移植过的内核源码之上进行相应修改,以适合我们的639A板卡。3.2.1 关于uboot启动内核停留在Starting Kernel问题的解决当通过Kermit方式使用串口在线将内核uImage...原创 2018-10-28 17:57:51 · 1655 阅读 · 1 评论 -
omapl138移植uboot系列之启动TI官方移植的Linux内核(启动内核第一篇)
启动TI官方移植的Linux内核和编译uboot一样,Linux内核的编译也是三板斧,首先修改Makefile中的ARCH和CROSS_COMPILE,然后找到你要编译的板卡执行make xx_defconfig配置,最后执行make menuconfig进行检查并修改,三板斧操作完就可以直接make编译啦!我们还是和移植uboot一样,先编译TI 移植过的omapl138开发板的内核镜...原创 2018-10-28 17:53:54 · 878 阅读 · 0 评论 -
omapl138移植uboot系列之官网获取BSP(第一篇)
BSP就是board support package(板级支持包,一般由开发板供应商提供),里面的内容就是这个开发板的所有相关的源代码、文档、教程等。登录TI官网去下载TI为自己开发板移植的uboot,链接如下http://software-dl.ti.com/processor-sdk-linux/esd/OMAPL138/latest/index_FDS.html登陆进...原创 2018-09-06 21:04:05 · 1881 阅读 · 0 评论 -
关于uboot启动内核停留在Starting Kernel问题的解决
当通过Kermit方式使用串口在线将内核uImage加载到内存0xC0008000地址处后,执行bootm c0008000命令去启动内核,console控制台信息执行到Starting Kernel就卡住不动了,这句打印信息是uboot的最后一条打印信息,也就是我们确定不了内核到底有没有被启动一般内核启动失败常见的原因大多是因为传参不正确导致的,即r0-r2寄存器的值。将machi...原创 2018-09-09 08:53:51 · 15887 阅读 · 0 评论 -
omapl138移植uboot系列之在线升级(第八篇完结篇)
uboot在线升级的原理是先通过某种外部接口(如网口、串口、USB等)将目标文件加载到DDR,然后从DDR中读取二进制文件并写到存储介质指定地址,由于639A底板并无网口,唯一与外部通信的接口就是串口,所以本节将借助639A板卡的本地串口完成在线升级功能。 Kermit文件运输协议是用于PC之间交换文件的一种简单的文件运输协议,uboot和secureCRT软件就支持Kermit...原创 2018-10-21 14:22:20 · 821 阅读 · 1 评论