当前位置: 首页 > news >正文

三水建设局网站b站网站推广

三水建设局网站,b站网站推广,新的网站做淘宝客,澄海网站建设一. 简介 本文针对 IMX6ULL 的裸机开发的(即不带Linux操作系统的开发)。 主要分两部分的工作: 1. 配置 C语言运行环境 2. C 语言编写及运行 二. 配置C语言运行环境 配置 C 语言运行环境的工作分 三部分。如下: 1. 设置…

一.  简介

本文针对 IMX6ULL 的裸机开发的(即不带Linux操作系统的开发)。

主要分两部分的工作:

1.  配置 C语言运行环境

2.  C 语言编写及运行

二.   配置C语言运行环境

配置 C 语言运行环境的工作分 三部分。如下:

1.  设置处理器模式

2.  设置 sp 指针

3. 跳转到 C 语言

接下来具体介绍配置 C 语言运行环境的工作。

1.  设置处理器模式

设置6ULL处于SVC模式下。

设置 CPSR 寄存器(即程序状态寄存器)的 bit[4-0],就是 M[4:0]10011=0X13

读写状态寄存器需要用到 MRSMSR 指令(即汇编指令)。

MRS 指令:

MRSCPSR 寄存器数据读出到通用寄存器里面。

MSR 指令:

MSR 指令将通用寄存器的值写入到 CPSR 寄存器里面去。

2.  设置sp指针

sp 指针,即栈指针。C 语言运行需要入栈/出栈,入栈/出栈就需要 sp 指针。通过 sp 指针指定一段栈内存。

sp 可以指向内部 RAM,也可以指向 DDR,我们将其指向 DDR。

Sp设置到哪里?

512MB 的范围 0x80000000~0x9FFFFFFF。我们这里决定分配栈大小为 0x200000=2MB。处理器栈增长方式,对于 cortex-A7 而言,栈地址向下增长的。设置 sp 指向 0x80200000。

栈地址向下增长,如下图所示:

可以看出,首地址不能为 0x80000000,地址向下增长会在 0x7XXXXXXX 这样的地址。非法的内存地址,则代码运行就崩溃了。

注意:根据处理器的栈的增长方向,来设置 sp 指针,否则会出错。

3.  跳转到 C 语言

使用 b 指令,跳转到 C 语言函数,比如 main 函数。

三.   汇编实现

在做  嵌入式开发时,需要了解处理器的启动方式。恩智浦这款芯片 在 x.bin 文件中加的头信息对 DDR 进行了初始化。

如果使用其他处理器,一定要看处理器的启动方式。如果处理器没法初始化 DDR,那么就需要程序员手动初始化 DDR ,即在设置 sp 指针之前初始化 DDR,否则,无法将 sp 指针设置到  DDR 地址中。

配置 C 语言运行环境的汇编代码实现入下:

汇编语言文件命名为 start.s。代码如下:

.global _start  		/* 全局标号 *//** 描述:	_start函数,程序从此函数开始执行,此函数主要功能是设置C*		 运行环境。*/
_start:/* 进入SVC模式 */mrs r0, cpsrbic r0, r0, #0x1f 	/* 将r0寄存器中的低5位清零,也就是cpsr的M0~M4 	*/orr r0, r0, #0x13 	/* r0或上0x13,表示使用SVC模式					*/msr cpsr, r0		/* 将r0 的数据写入到cpsr_c中 					*/ldr sp, =0X80200000	/* 设置栈指针			 */b main				/* 跳转到main函数 		 */

以上汇编语言实现了配置 C 语言运行的环境。之后 即可再写 C 源码,然后,编译链接。烧录 SD 卡后即可在开发板运行了。

运行原理:以上的 汇编代码首先会执行,之后进入 C 语言的 main 函数执行 C 代码部分。

http://www.ds6.com.cn/news/54750.html

相关文章:

  • 成都装修网站制作十大seo免费软件
  • 资源型网站建设 需要多大硬盘社群营销方案
  • 网站开发研究方法郑州百度快照优化排名
  • 自主网站建设关键词挖掘工具
  • 南昌网站建设服务器网页制作与设计
  • 哪个做h5的网站好用独立网站
  • 银川网站建设怎么样郑州网络推广厂家
  • 315网站专题怎么做seo概念
  • 商业网站策划方案沧州网站优化公司
  • 网站侧边 跟随 样式廊坊网站seo
  • 会议网站怎么做有哪些平台可以免费发广告
  • 北京建设网站兼职普工上海网站建设联系方式
  • 什么大的网站是帝国cms做的最新的疫情最新消息
  • 网站开发赚不赚钱百度推广有效果吗?
  • 品牌网站建设怎么收费广州seo排名外包
  • wordpress 连接信息网站建设加推广优化
  • 两个域名指向同一个网站专门用来查找网址的网站
  • 做网站的文件什么是引流推广
  • 深圳企业网站推广网站到首页排名
  • 西安营销型网站制作价格如何开发自己的小程序
  • 谢岗镇做网站网络推广工作好干吗
  • 如何做枪版电影网站网络销售网站
  • 自己做网站视频教学facebook海外推广
  • 做招聘网站需要哪些手续网站怎么做的
  • 北京高端网站制作电脑系统优化软件
  • 分享惠网站怎么做软文网站发布平台
  • 甘肃省城乡住房建设厅网站首页保定seo排名外包
  • 凯里做网站个人怎么做免费百度推广
  • 石家庄网站外包杭州seo运营
  • 武汉网站建设方案怎么做百度推广平台