
157开发手册
文章平均质量分 91
北京迅为
让学习更简单,让开发更容易
展开
-
【北京迅为】《STM32MP157开发板使用手册》-第四十三章 软件定时器实验
在很多应用中,我们需要一些定时器任务,硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,无法提供更多的定时器,那么可以采用软件定时器来完成,由软件定时器代替硬件定时器任务。但需要注意的是软件定时器的精度是无法和硬件定时器相比的,因为在软件定时器的定时过程中是极有可能被其他中断所打断,因为软件定时器的执行上下文环境是任务。软件定时器,软件定时器是由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时器服务,它实现的功能与硬件定时器也是类似的。原创 2024-09-20 17:36:07 · 1667 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第四十二章 事件实验
与信号量不同的是,它可以实现一对多,多对多的同步。在 FreeRTOS 事件中,每个事件获取的时候,用户可以选择感兴趣的事件,并且选择读取事件信息标记,它有三个属性,分别是逻辑与,逻辑或以及是否清除标记。当任务等待事件同步时,可以通过任务感兴趣的事件位和事件信息标记来判断当前接收的事件是否满足要求,如果满足则说明任务等待到对应的事件,系统将唤醒等待的任务;本实验,我们的实验任务为按下按键VOL_UP后LED2状态翻转,按下按键VOL_UP后LED3状态翻转,当两个按键都经历过按下的状态后,蜂鸣器状态翻转。原创 2024-09-20 17:23:11 · 1106 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第四十一章 计数信号量实验
每当某个事件发生时,任务或者中断将释放一个信号量(信号量计数值加 1),当处理被事件时(一般在任务中处理),处理任务会取走该信号量(信号量计数值减 1),信号量的计数值则表示还有多少个事件没被处理。此外,系统还有很多资源,我们也可以使用计数信号量进行资源管理,信号量的计数值表示系统中可用的资源数目,任务必须先获取到信号量才能获取资源访问权,当信号量的计数值为零时表示系统没有可用的资源,但是要注意,在使用完资源的时候必须归还信号量,否则当计数值为 0的时候任务就无法访问该资源了。原创 2024-09-20 16:35:56 · 1345 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第四十章 二值信号量实验
之后进行编译烧写,当按下VOL_UP按键时会释放LED2Binary信号量,接收函数接收到该信号之后LED2状态翻转,当按下VOL_DN按键时会释放LED3Binary信号量,接收函数接收到该信号之后LED3状态翻转,当按下BACK按键时会释放BEEPBinary信号量,接收函数接收到该信号之后BEEP状态翻转至此,我们的挂起和恢复任务实验就完成了。为什么叫二值信号量呢?因为信号量资源被获取了,信号量值就是 0,信号量资源被释放,信号量值就是 1,把这种只有 0 和 1两种情况的信号量称之为二值信号量。原创 2024-09-19 17:49:10 · 1064 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十九章 消息队列实验
当等待的时间超过了指定的阻塞时间,即使队列中还不允许入队,任务也会自动从阻塞态转移为就绪态,此时发送消息的任务或者中断程序会收到一个错误码。至此,我们的内容就添加完成了。之后进行编译烧写,当按下VOL_UP按键时会发送内容为1的队列,当按下VOL_DN按键时会发送内容为2的队列、当按下BACK按键时会发送内容为3的队列,当接收端收到队列的内容为1时,LED2状态翻转,当接收端收到队列的内容为2时,LED3状态翻转,当接收端收到队列的内容为3时,BEEP状态翻转,至此,我们的消息队列实验就完成了。原创 2024-09-19 17:25:35 · 1231 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十八章 任务管理实验
因为这个查找最高优先级任务的过程决定了调度时间是否具有确定性,例如一个包含 n 个就绪任务的系统中,如果仅仅从头找到尾,那么这个时间将直接和 n 相关,而下一个就绪任务抉择时间的长短将会极大的影响系统的实时性。FreeRTOS 内核中采用两种方法寻找最高优先级的任务,第一种是通用的方法,在就绪链表中查找从高优先级往低查找,因为在创建任务的时候已经将优先级进行排序,查找到的第一个就是我们需要的任务,然后获取对应的任务控制块。每个任务在自己的环境中运行,不依赖于系统中的其它任务或者RTOS调度器。原创 2024-09-19 16:54:45 · 1365 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十七章 Freertos的任务基础知识
任务调度器在进行任务切换的时候会将当前任务的上下文保存在此任务的任务堆栈中,等到此任务下次运行的时候就会先用堆栈中保存的值来恢复现场,恢复现场后任务会接着从上次中断的地方开始执行。挂起态与阻塞态的区别,当任务有较长的时间不允许运行的时候,我们可以挂起任务,挂起任务之后,调度器就不会处理这个任务的任何信息,直到调用恢复任务的接口函数;我们在上一个函数中,对每个任务进行了创建,而这些任务仅仅只是加入到了系统之中,并没有去运行,所以该函数的任务就是启动任务调度器,开启任务调度。原创 2024-09-19 16:34:39 · 1104 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十六章 认识freertos
虽然事件的响应的处理分开了,但是事件的处理还是在后台顺序执行,但相比轮询系统,前后台系统确保了事件不会丢失,再加上中断具有可嵌套的功能,这样可以大大提高程序的实时响应能力。大家可以发现,这里的判断逻辑和轮询系统中的逻辑相同,只是对时间的判断不同,由于这里完成的操作简单,所以轮询系统中的延时才可以被应用,但是对于一个复杂的系统,延时带来的危害是很大的,所以我们轮询系统中的延时是不规范的,大家之后遇到相似的问题,最好用前后台系统或者rtos实时操作系统。RTOS 不是指某一个确定的系统,而是指一类系统。原创 2024-09-19 14:30:29 · 988 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十五章 A7 和 M4 联合调试
我们来到/usr/local/projects/KEY_CM4路径下,如下图所示,会发现该目录下会存在一个fw_cortex_m4.sh文件,查看文件信息之后会发现该文件正是我们正在解释的文件。在上面的两个小节中,我们使用了STM32CubeIDE软件进行调试,这样确实通过A7核来启动了M4核心的例程,但是这样操作也是不方便的,需要STLINK调试,还需要虚拟网卡将M4工程传递到开发板上,本小节所实现的是通过对应的脚本来实现M4核的应用开启和结束,而且不再局限于yocto系统,不再需要USB虚拟网卡。原创 2024-09-18 15:05:00 · 1296 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十四章Cortex-M4 ADC实验
SQR2控制着规则序列中的第5到第9个转换,对应的位为:SQ5[4:0]~SQ9[4:0],如果通道1想第8个转换,则SQ8[4:0]写1即可。因为 STM32MP157 的ADC支持差分通道输入,因此有 ADCx_INP[19:0]和 ADCx_INN[19:0]两组信号,其中,INP 是差分正向输入,INN 是差分反向输入,其中的 ADC_INP[0:5]和 ADC_INN[0:5]是快速模拟输入,ADC_INP[6:19]和 ADC_INN[6:19]是慢速模拟输入。原创 2024-09-18 14:57:29 · 1520 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十三章Cortex-M4 DMA实验
我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢?DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节,主要涉及四种情况的数据传输,但本质上是一样的,都是从内存的某一区域传输到内存的另一区域(外设的数据寄存器本质上就是内存的一个存储单元)。原创 2024-09-18 13:47:57 · 1701 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十二章Cortex-M4 PWM呼吸灯实验
那么就可以得到如上的 PWM 示意图:当 CNT 值小于 CCRx 的时候,IO 输出低电平(0),当 CNT 值大于等于 CCRx的时候,IO 输出高电平(1),当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。这里配置 250,即占空比为 50%。pwm的调节作用来源于对“占周期”的宽度控制,“占周期”变宽,输出的能量就会提高,通过阻容变换电路所得到的平均电压值也会上升,“占周期”变窄,输出的电压信号的电压平均值就会降低,通过阻容变换电路所得到的平均电压值也会下降。原创 2024-09-18 10:21:49 · 950 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十一章Cortex-M4窗口看门狗实验
窗口看门狗跟独立看门狗一样,也是一个递减计数器不断的往下递减计数,当减到一个固定值 0X40 时还不喂狗的话,产生复位,这个值叫窗口的下限,是固定的值,不能改变。我们在设计程序时,先根据看门狗计数器的位数和系统的时钟周期算一下计满数需要的时间,就是说在这个时间内“看门狗”计数器是不会装满的,然后在这个时间内告诉它重新开始计数,就是把计数器清零,这个过程叫“喂狗”,这样隔一段时间喂一次狗,只要程序正常运行他就永远计不满,一旦出现死循环之类的故障,没有及时来清零计数器,就会导致装满了溢出,他就重启系统。原创 2024-09-18 10:02:29 · 556 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第三十章Cortex-M4通用定时器实验
定时器的定时时间等于计数器的中断周期乘以中断的次数。基本定时器挂在 APB1 上,其时钟来源于 PCLK1,但是基本定时器时钟不是直接由 APB1 提供,而是经过一个倍频器,当 APB1DIV 的分频数为 1 的时候,此倍频器倍频值为 1,当 APB1DIV 的分频数大于 1 的时候,此倍频器倍频值始终为 2。选择完成之后,点击右下角的Debug按钮,点击之后,会进行再一次的编译,编译完成之后会弹出如下内容(作者用的是J-LinK),这里弹出的是J-link关于设备的选择,不同调试器的弹窗可能会不同。原创 2024-09-14 16:08:29 · 1523 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十九章Cortex-M4串口实验
TTL电平是就是指我们的处理器上具有串口功能的引脚直接引出来,他的电平就是TTL的(高电平表示1,低电平表示0)。选择完成之后,点击右下角的Debug按钮,点击之后,会进行再一次的编译,编译完成之后会弹出如下内容(作者用的是J-LinK),这里弹出的是J-link关于设备的选择,不同调试器的弹窗可能会不同。由于现在的电脑基本都没有外接串口了,但是串口设备在我们嵌入开发中非常常用,为了解决这个问题,市面上出现了很多的usb转串口模块,他们用到的usb转串口芯片有ch340,pl2303等等。原创 2024-09-14 14:21:49 · 1640 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十八章Cortex-M4外部中断实验
中断其实就是当 CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起 CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断,引发中断的称为中断源。每个中断的中断优先寄存器的高四位中的最高2位是抢占优先级,低 2 位是响应优先级,抢占优先级共有 2^2=4 种,子优先级共有 2^2=4种,共有 4*4=16 级嵌套, 每个中断,可以设置抢占优先级为 0~4,响应优先级为0~4。原创 2024-09-14 11:08:02 · 902 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十七章Cortex-M4按键实验
我们以PWRON3为例,默认状态下按键为弹起状态,IO口和3.3V的电位相同,为高电平,当按键 PWRON3按下时,+3.3V 通过电阻 R22 然后再通过按键PWRON3最终进入 GND 形成一条通路,那么这条线路的全部电压都加到了R22这个电阻上,DCMI_D8这个引脚就是个低电平。按键抖动会引起按键被误读多次。我们设置为高速 High。在key.c文件下,添加以下内容,以下内容实现的功能为定义key_scan函数,该函数用来实现按键的扫描,每一个按键按下后,会有不同的返回值,以此来确定按下的按键。原创 2024-09-13 16:18:21 · 1130 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十六章Cortex-M4 GPIO_蜂鸣器实验
开发板上使用的蜂鸣器是有源蜂鸣器,属于电磁式蜂鸣器类型。这里说的有源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有源蜂鸣 器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一定频率 的脉冲信号才能发声,频率大小通常在 1.5-5KHz 之间。可以看到蜂鸣器的发声由Q3 L9014的NPN三极管控制通断,当三极管导通时蜂鸣器也会导通发声,当三极管截止时蜂鸣器不发声,所以我们只需要通过控制MCO1 GPIO引脚输出的高低电平来控制三极管的通断,进而控制蜂鸣器的发声。原创 2024-09-13 13:38:28 · 1001 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十五章Cortex-M4 GPIO_LED实验
另外,因为要输出高电平需要有外部的上拉电阻,所以在进行通信时,通信的速度也受到上拉电阻阻值的影响,阻值小时,通信速度可以很快,阻值大时,通信速度变慢,但也不能为了通信速度把上拉电阻用的很小,也要注意在电阻很小时,功耗会变大,所以要平衡好这个度。由于浮空模式时,在GPIO外部连接的电路未工作时,STM32读取的GPIO状态是不确定的,所以可以通过带上拉或者下拉输入的模式先给MCU一个确定的状态,当外部电路电平状态发生变化时,易于MCU的判断。这种结构既可以输出高电平,也可以输出低电平,可以用于连接数字器件。原创 2024-09-12 17:39:17 · 1299 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十四章 STM32CubeIDE的初步使用
共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等。在进入工程界面后,此时工程默认打开一个.ioc 文件,这个是 STM32CubeMX 插件的配置界面,我们在此界面中配置外设以及时钟,配置生成的工程文件也都是从关联的固件包拷贝得来的。首页、帮助、软件更新、插件安装等操作。原创 2024-09-12 17:22:35 · 738 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十三章 Cortex-M4 开发环境搭建
开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。STM32CubeIDE是ST于2019年新推出的一款多功能的集成开发工具,它集成了TrueSTUDIO 和 STM32CubeMX 插件,并基于 GDB 进行调试,它允许集成数百个现有插件,这些插件完成 Eclipse 的功能。需要安装Java环境。对应的java jdk安装包我们已经下好(我们提供的是64位的安装包,如果是32位的电脑请自行到官网下载),存放路径为“原创 2024-09-12 17:08:56 · 837 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十二章 linux内核移植
可以看到我们的内部回环网络和wifi对应的两个网络,内部回环网络设备是默认都有的,那为什么我们没有配置wifi却有wifi的网络呢,这是因为我们所使用的蓝牙WIFI模块,也是USB设备,在上一小节之中,我们配置好了USB,WIFI在加载对应的KO文件之后也产生了对应的设备(KO文件的加载为了方便我们直接放在了开机启动项之中,大家不用理会)。将生成的设备树文件进行少些,烧写成功之后,重启开发版,得到的结果和上一小结相同,因为我们还并未对TF卡和EMMC功能进行完善,下面我们将正式开始功能的完善。原创 2024-09-12 14:57:42 · 810 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第二十章 Trusted Firmware-A 移植+第二十一章 U-Boot移植
首先烧写进去的名为otg-uboot.stm32的用途为辅助STM32CubeProgram烧写,而第二个名为emmc_uboot.stm32或tf_uboot.stm32为我们最终emmc或者TF卡启动所要用到的uboot,这个uboot我们稍后会添加一些环境变量,对此进行一些修改,所以最终的uboot源码编译出的镜像会失去辅助STM32CubeProgram烧写的功能,但对于我们自身并没有影响,我们真正需要的只是最终烧写到EMMC或者TF卡的uboot。具体的展示可以去第二章进行具体的查看。原创 2024-09-10 16:23:25 · 2430 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十九章 Yocto系统开发
编译完成后所生成的镜像文件保存在tmp-glibc/deploy/images/stm32mp1目录下,为了适配我们自己的开发板,关于tf-a、uboot和kernel我们对源码进行了部分的修改,所以在该目录下,我们需要的镜像只有文件系统相关的镜像以及其对应的烧写配置文件。虽然市面上有数百种可用的嵌入式Linux发行版,但每个版本都是高度定制的,这导致了大量的重复工作,很多开发人员创建了大同小异的Linux版本,再基于其开发自己的增值特性和功能。在这里rootfs.ext4为我们要烧写文件系统的镜像。原创 2024-09-10 14:59:04 · 2142 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十八章 Debian文件系统
生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。这里只有四种屏幕的内核镜像,原因是这四种屏幕所使用的触摸驱动相同,而剩下的4.3寸屏幕和10.1寸屏幕所用到的驱动不同,故以上任何一个内核镜像都可以适配。此时我们可以看到,根目录切换成了当前制作debian的目录,我们可以在该系统中安装我们所需要的软件,我们安装mplayer进行演示,使用命令“原创 2024-09-10 14:27:25 · 2029 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十七章 制作Ubuntu文件系统
这里只有四种屏幕的内核镜像,原因是这四种屏幕所使用的触摸驱动相同,而剩下的4.3寸屏幕和10.1寸屏幕所用到的驱动不同,故以上任何一个内核镜像都可以适配。在这里rootfs.ext4为我们要烧写文件系统的镜像。所以我们在烧写镜像的时候需要修改对应的内核镜像,我们以烧写ubuntu18无桌面版本的镜像为例,镜像存放路径为“本章我们构建的是ubuntu18.04系统。”解压,得到的文件夹raw-rootfs就是开发板的Ubuntu-base文件系统,可以在此基础上修改文件系统,解压完成之后的文件如下图所示。原创 2024-09-10 11:29:29 · 1654 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十六章 Buildroot制作根文件系统
每三个月提供新的发行。这里需要注意,如果是自己编译出来的qmake,需要找到自己的qmake路径,而如果使用的我们的ubuntu环境,且用了我们编译好的buildroot源码包,需要与我们的路径完全相同。如上图所示 LINUX_VERSION_CODE为267277,此值为10进制,转换为16进制为4140D,对应的linux内核版本为4.1.x,在此要把该值改为与buildroot中配置的一致,即为5.4.x,转换为16进制为50400,对应的十进制为328704。需要配置的项目和其对应的内容如下。原创 2024-09-10 10:58:22 · 2502 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第十五章 制作最小linux系统
在制作文件系统的时候,我们编写了一个inittab文件,在这个文件里面有这样的一句console::askfirst:-/bin/sh代码,在我们按下回车以后会启动/bin/sh,然后配置/etc/profile文件的配置。我们可以跳过移植章节。/bin目录下常用的命令有:cat,chgrp,chmod,cp,ls,sh,kill,mount,umount,mkdir,mknod,test等,我们在利用Busybox制作根文件系统时,在生成的bin目录下,可以看到一些可执行的文件,也就是可用的一些命令。原创 2024-09-10 09:49:55 · 1283 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十四章 QtE5.12应用开发
压缩包“iTOP-STM32MP157-QtE5.12-helloworld_V1.0.zip”,helloworld 测试例程。压缩包“iTOP-STM32MP157-QtE5.12-adc 模数转换_V1.0.zip”,ADC 模数转换测试的例程。压缩包“iTOP-STM32MP157-QtE5.12-TCP 通信例程_V1.0.zip”,网络 TCP 通信测试例程。压缩包“iTOP-STM32MP157-QtE5.12-qtclock 时钟_V1.0.zip”,时钟测试例程。原创 2024-09-09 17:04:35 · 1610 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十三章 编译QtE5.12文件系统
iTOP-STM32MP157开发板网盘资料汇总\03_文件系统源码和镜像\03_QT5.12文件系统\01_QT、tslib和字库源码。iTOP-STM32MP157开发板网盘资料汇总\03_文件系统源码和镜像\03_QT5.12文件系统\02_制作好的文件系统镜像。iTOP-STM32MP157开发板网盘资料汇总\03_文件系统源码和镜像\03_QT5.12文件系统\02_制作好的文件系统镜像。完成后,可以在“/opt”目录下可以查看到生成的“qt-5.12.10-arm”文件,如下图所示。原创 2024-09-09 15:47:14 · 1400 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第十二章 编译Linux内核
开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等。如下图所示,在“output”目录下,编译生成了“uImage”kernel 镜像。原创 2024-09-09 15:19:40 · 1001 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第十一章 编译U-Boot
u-boot是SourceForge上的开源项目,由一个人发起,然后由整个世界所有感兴趣的人共同维护发展而来的一个bootloader,bootloader是用来引导和加载内核,向内核传递参数的,是内核引导程序的统称,bootloader除了u-boot还有bios,LilO,redboot,vivi等。uboot是一段裸机代码,它的实现非常复杂,主要是初始化一些硬件,部署整个计算机系统,将内核读到内存,根据环境变量去启动内核,并向内核传递参数。Uboot源码的编译器和编译TF-A的编译器相同为。原创 2024-09-09 14:54:24 · 662 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第十章 编译TF-A
其中tf-a-stm32mp157a-itop-serialboot.stm32文件是使用OTG烧写所用到的文件,而tf-a-stm32mp157a-itop-trusted.stm32文件是真正要烧写到EMMC中的文件。我们所需要的文件为tf-a-stm32mp157a-itop-serialboot.stm32和tf-a-stm32mp157a-itop-trusted.stm32。Makefile.sdk、tf-a-stm32mp-2.2.r1,两个文件分别为编译的makefile文件和编译的源码。原创 2024-09-09 14:43:47 · 1206 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第九章 搭建编译环境
开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等。进入“/usr/local”目录,使用如下命令创建 arm 目录,再进入此目录。原创 2024-09-09 14:36:59 · 1024 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第八章STM32MP157烧写系统
在前面的三个小节之中,我们分别介绍了STM32CubeProgrammer软件烧写和ums挂载烧写,但我们会发现,使用STM32CubeProgrammer软件烧写速度会特别慢,以烧写有桌面的ubuntu系统为例子,4个G大小的镜像要烧写一个半小时,长时间的等待是让人无法忍受的,而ums挂载烧写虽然大大的提高了烧写的速度,但是会存在一定的限制,当们上一次烧写的空间一定要比本次烧写的镜像大小大,而本次的raw镜像就能解决这些问题,但是只能在TF卡上。在windows解压之后。原创 2024-09-09 14:16:08 · 1831 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第七章 设置启动模式(必看)
iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。原创 2024-09-08 14:24:02 · 1026 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第六章 Windows环境搭建
上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。3)如下图,选择需要用到的串口。如我们上传到home目录下,我们可以先在psftp这个软件上进到home这个目录里面,然后在使用put命令上传,在psftp这个软件上切换上传到目录和在虚拟机中是一样的,同样是使用cd命令。原创 2024-09-06 17:20:50 · 2115 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》- 第四章 外设模块测试
点击上图中的“确认”按钮,这样经过前面的操作,在 VMware 的 Device 里就A多了一个Hard Disk,接下来要进入 Ubuntu,把新的硬盘 mount 进去,启动 Ubuntu 系统,以 root 用户登录,如下图。如下图,选择蓝色框中“仅主机模式”模式,这是一种封闭的模式。上图中红色框内的文件是用于保存扩展的硬盘的信息,文件的名字和保存的路径可以自己定义,确定好文件名字和保存路径后,点击"完成"按钮,然后回到“虚拟机设置”对话框,在这个对话框会看到我们添加的硬盘的信息,如下图。原创 2024-09-06 11:00:51 · 1202 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第三章 外设功能验证
如下图所示,测试的串口为 USB串口(J9),通过数据线连接到PC上。硬件部分原理图如下图所示:原创 2024-08-22 15:04:47 · 1348 阅读 · 0 评论 -
【北京迅为】《STM32MP157开发板使用手册》-第一章 iTOP-STM32MP157开发板简介
CMD和CLK分别是USDHC的命令和时钟线,分别接到了芯片的 SD2MMC1_CMD和 SD2MMC1_CLK 引脚上了。STM32MP157 有三个 BOOT 引脚:BOOT0~BOOT2,这三个 BOOT 引脚通过拉高/拉低来设置从哪种设备启动,虽然在实物图上我们设置了四位开关,但实际上只有三位拨码开关,分别为SW1、SW2、SW3,当拨码开关拨到on,开关导通,对应的BOOT被3.3V电压拉高,显示状态为1,相反当拨码开关拨到off,开关断开,对应的BOOT被拉低,显示状态为0。原创 2024-08-21 14:21:53 · 1770 阅读 · 0 评论