12 2021 档案
摘要:我们写完的源码是通过gcc编译、链接的但是如果每一次代码的改变都要重新编译,工程文件量少的话还好,当文件有几十几百甚至上千的话在Terminal输入一条条指令肯行是不现实的。这样就要引入一种工具:make,这个工具不光可以自动编译代码,还可以只对更改的代码进行编译和链接。 我们先做一个计算器的小工程
阅读全文
摘要:恩智浦针对I.MX6ULL编写了一个SDK包,这个包类似STM32的标准库或者HAL库,这个SDK包含了Windows和Linux两种版本。下载链接可以点击下载,链接失效了还可以从这下: https://pan.baidu.com/s/1L4OgqBiejZJFOmOxTVjtBw 提取码:slhm
阅读全文
摘要:在上一章节我们通过C语言点亮了LED,但是对寄存器进行操作前先要对其在头文件里定义,每个寄存器和对应的地址都要写在头文件里,像下面图里显示的一样 使用起来就是非常不方便,也很容易出错。搞过STM32的朋友们在对相邻的寄存器赋值时是可以使用"GPIOB->ODR"这种指针形式实现的,前提是一个外设的寄
阅读全文
摘要:我们在前面的LED驱动是用汇编写的,在后面的开发过程中是不能用汇编去做的,基本上是靠C去实现的,下面我们就用C语言实现LED的驱动试验 处理器的运行模式 在开始之前要先了解一下I.MX6UL的运行模式,这个要看ARM Cortex-A(armV7)编程手册V4.0。第三张ARM Processor
阅读全文
摘要:在上一章我们通过点亮LED实现了第一个小程序。在烧录程序完成插入SD卡后有个选择启动拨码开关的步骤,那么这个启动方式是如何实现的,今天我们就来大致了解下I.MX6U的启动方式 一.启动模式选择 按照I.MX6UL的开发手册上所说,整个BOOT的处理过程就是芯片上电后,芯片首先会根据BOOT_MODE
阅读全文
摘要:在上一章我们通过点亮LED实现了第一个小程序。在烧录程序完成插入SD卡后有个选择启动拨码开关的步骤,那么这个启动方式是如何实现的,今天我们就来大致了解下I.MX6U的启动方式 一.启动模式选择 按照I.MX6UL的开发手册上所说,整个BOOT的处理过程就是芯片上电后,芯片首先会根据BOOT_MODE
阅读全文
摘要:我们在上一章已经把代码放出来了,下面就要把代码编译成开发板能运行的程序。因为开发板用的是arm的架构,用树莓派可以直接编译。完整版的树莓派自带arm的gcc编译器,就不用额外配置了,并且我们是通过vscode第ssh插件直接在树莓派里写的代码,也不需要复制等操作,直接编译就行了。 程序编译 程序编译
阅读全文
摘要:首先,我们一步步从汇编开始点亮板子上的LED灯! 为什么要先从汇编开始呢?一般来说我们只用C写程序就行了,但是系统上电以后要对SOC的外设、DDR进行初始化(我们用的是I.MX6U,不需要这一步),设置堆栈指针(一般指向DDR),设置好C语言的环境关闭看门狗等流程,但这些功能用C是无法实现的,必须通
阅读全文
摘要:忙活了好久,一直没顾着新学点什么东西。最近疫情爆发被隔离在家,翻出来角落里的开发板,重新开始新的学习旅途! 板子是正点原子的阿尔法,PC用的是X86架构的笔记本,按要求是要配置交叉编译器什的,突然想起来手里还有个树莓派4,也是arm架构的,程序的编译就交给他了! IDE就用vscode,安装Remo
阅读全文