ARM的开发步骤:让你思路更清晰
由于ARM单片机开发涉及到编程方面的知识,所以,这里对一些没基础的人来说还是比较难的,学习ARM方面的知识没什么难度,难点在你不知道ARM的开发思路,下面可以先来了解下arm的开发步骤。
点击获取1V1嵌入式学习规划,现在还送100G精选学习资料。(点击找小助理领取)
做个最小系统板:如果你从没有做过ARM单片机的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。
1.使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。
2.写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分:初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,连接到C语言入口。也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去。
3.仔细研究你所用的芯片的资料,尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。尤其是女孩子,在这儿千万别有依赖心理,总想拿别人的示例程序修改,却越改越乱。
4.多看一些操作系统程序,在ARM的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。
5.如果你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。
6.如果做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的就有点费劲。
以上介绍的就是ARM单片机的开发步骤了,对于ARM的开发思路最好还是按照上面的介绍来,这样有目标的ARM开发思路对新手来说是很重要的。
for (i = 0; i < 8; i++)
{
SetData((data >> i) & 0x1);
SetClockHigh();
for (j = 0; j < 5; j++);
SetClockLow();
for (j = 0; j < 5; j++);
}
ARM的开发步骤:让你思路更清晰相关推荐
- Linux学习——总结ARM裸机开发步骤
本文仅介绍一些基础概念. 我们常用的开发平台是在x86,这个是Intel推出的架构.在x86平台上的开发步骤,不管是什么软件,无外乎建立工程->写代码->保存->编译->运行, ...
- 虚拟字符设备驱动开发步骤
目录 前言 字符设备驱动简介 内核驱动操作函数集合(file_operations结构体) 字符设备驱动开发步骤 .ko驱动模块的加载和卸载(module_init驱动入口.insmod驱动加载) 字 ...
- ARM固件开发(LPC1768启动初始化代码)
ARM固件开发(LPC1768启动初始化代码) 一.复位 ARM启动中需要配置上电复位功能,因为这样才能确保上电之后程序处于初始状态而并非程序指针未知.通常启动代码编译器自带,而程序入口基本上都是以复 ...
- ARM裸机开发——双机异步串行通信
写在前面 本报告因为期末将至,后续还需要完成一次课程设计,故本次实验较为简单,完成的时间也非常匆忙,故文章内容较为单薄,也可能有着更多疏忽之处,还望大家海涵. 1. 项目任务 1) 利用S3C24 ...
- TM4C123系列ARM单片机开发入门介绍
初学TM4C123GH6PZ,以前未接触过ARM,所以感觉一头雾水.根据自己以前C51的简单经验,对照资料很少的ARM4教程,摸索着终于明白了开发流程,从软件到硬件用自己的程序点亮了LED.现将自己的 ...
- 我的嵌入式linux开发步骤
我的嵌入式linux开发步骤: 1. 安装虚拟机,见<安装及使用心得>,选择桥接模式 2. 虚拟机串口设置,见<VMare里linux使用MINCOM通信&g ...
- ARM裸机开发:主频与时钟
文章目录 ARM裸机开发:主频与时钟 一.时钟系统 1.1 外部时钟电路 1.2 7路PLL时钟源 1.3 时钟树概览 二.时钟配置 2.1 内核时钟设置 2.2 PFD时钟设置 2.3 AHB.IP ...
- 基于Cortex-A7架构的嵌入式linux ARM驱动开发<1>——字符设备驱动开发
一.什么是字符设备 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的.比如我们最常见的点灯.按键.IIC.SPI, L ...
- 移动app开发流程,app开发步骤
个人github:https://github.com/qiilee 欢迎follow 移动app开发流程,app开发步骤 app是手机软件的简称.手机主流的有ios.andriod,windows ...
- HI3518E新手开发步骤
一.HI3518E新手开发步骤 1.找到SDK.每个平台都有自己的SDK(Software Development Kit),一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立的 ...
最新文章
- Apache Spark 2.2.0 中文文档 翻译活动
- 快收藏!整理了 100 个 Python 小技巧
- 构造函数调用虚函数的问题
- vue-cli 没有build如何配置_webpack4配置实现浏览器长期缓存
- 13.7.深入理解jstack日志
- Nginx 配置TCP负载均衡
- 几台pc打造超级计算机,324台Mac Pro打造超级计算机
- 软考路:2021年系统架构设计师之考试
- 一步一步学Linq to sql(十):分层构架的例子
- 从「猜画小歌」,谈企业的「数据困惑」该何去何从?
- 【Oracle】修改参数的同时添加注释
- 使用Javascript / jQuery下载文件
- 单片机ISP烧录原理
- [原创]Android SDK下载(Linux下载SDK最新教程2020.11.26)
- 动易cms聚合空间最近访客访问地址错误解决方法
- VS中更改项目名称(以VS2017为例)
- lly的瞬移方块(并查集)
- 一文学会VOS中限制某个地区的固话和手机
- memcmp用法实现
- Gherkin语法详解之Data Format(七)
热门文章
- 模式识别和计算机科学与技术,模式识别与智能系统
- 华为首款鸿蒙平板发布,华为MatePad Pro发布亮相!华为首款鸿蒙平板全新体验!...
- 2021-05-13
- CondaVerificationError;conda install verifying transactions一直在转
- win7+Ubuntu20.04双系统硬盘安装指南(含踩坑记录)
- 求一元二次方程的解法c语言,有什么方法求一元二次方程求解決一元二次方程的解法要详细...
- xfce实现桌面图标透明
- 初步设计对复杂系统的意义
- 个人博客毕业设计设计总结
- 计算机常用的输出设备有什么作用,常用的多媒体输入输出设备有哪些,主要功能是什么...