完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
单片机内存资源比较小 用途主要是一些专用的功能 应用处理器在MCU的基础上,扩展了一些模块由于芯片内部ram flash比较小可外接DDR 和flash,芯片内部可扩展lcd GPU dsp等模块功能。可以装各种操作系统linux ios windows等,有了操作系统可以开发各种应用。 发展路线: 对于复杂的外设cpu内部有相应的控制器 板子上电后,cpu会执行第一条指令,如果是sd卡启动,cpu是不能直接访问sd,需通过芯片内部的rom(only read), Pc主板不是soc,硬件设计比较复杂,每个模块都是独立的。 操作fpio一般分为4步: 1、 enable power/clock control 2、 pins mode (决定从uart 或者 gpio_data_reg) 3、 引脚输入/输出 4、 Data 1或者0 高低电平 设置引脚是通过操作寄存器。 寄存器操作3步(不能只修改某一位会影响其他位,所以需要三步走): 1、 read 寄存器的值 2、 修改寄存器的值 3、 写回修改的寄存器的值 如上三步是一般寄存器操作方法,但是不同的芯片也会有所不同,具体还需要查看相应的芯片手册 板子上电运行步骤(sd卡启动) 1、 交叉编译程序,添加相应的头部信息(告诉片内rom被复制到何处以及长度) 2、 程序文件烧写到sd卡,程序文件有头部信息指定加载程序被复制到外部ddr哪个位置(0x80000000)和其他信息(被复制是通过片内rom完成的,因为cpu不能直接读sd卡等存储设备)。 由于位于sd卡上的程序不会直接运行,需要片内Rom固化程序,根据头部信息就知道了把sd卡上的程序复制到ddr中哪里去。 2、cpu执行一条汇编代码,汇编代码包括从ddr哪里读程序,从程序的哪个函数开始。 ARM 的地址在在一个空间 ×86不在一个空间 对于不同的空间需要不同的指令 CPU内部也有很多寄存器,和gpio不太一样 串口数据交互原理图 |
|
|
|
只有小组成员才能发言,加入小组>>
3318 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9063 浏览 16 评论
4088 浏览 18 评论
1185浏览 3评论
609浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
601浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2337浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1897浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 06:44 , Processed in 1.184830 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号