嵌出式008

判断第一个引脚:看芯片丝印,朝上然后最小那个圈开始,逆时针为第一个引脚

STM32芯片架构:
第一部分就是由ARM公司所设计的内核,交由ST进行设计许多外设。

M3内核—》总线矩阵—》flash(存储程序) 外设(GPIO,USART,I2C,SPI等) SRAM(存储变量的)

ARM公司设计内核也就是驱动单元,还有一部分是SOC厂商ST设计的外设(被动单元)

内核通过ICode(instruction)读取flash总的程序完成程序指定读写功能
Dcode 数据总线 常量const防在flash 中 变量放在sram中,

DCODE system DMA

被动单元部分
AHB(两个外设 rcc(rcc就是复位时钟总线)和sdio)–>>APB(APB1,APB2)

寄存器?
给有特定功能的内存单元取一个别名,这个别名就是我们经常使用的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名就是寄存器映射

什么叫存储器映射
给存储器分配地址就是存储器映射,再分配一个地址就叫重映射。

总线APB1 ,APB2,AHB 外设根据所需速度不同挂在不同的总线上。
总线基地址是外设起始地址
GPIO基地址:所在总线基地址加上偏移量就是外设基地址

1<<0 1左移0位,从寄存器低位开始移动
1<<10 把寄存器的第十位赋值为1

|=赋值 不改变原来的位
&=(1<<10)

相关推荐

  1. 008

    2024-03-12 04:10:04       41 阅读
  2. ------001

    2024-03-12 04:10:04       46 阅读
  3. 学习的一天

    2024-03-12 04:10:04       51 阅读
  4. 6818开发板嵌入开发Linux内存映射

    2024-03-12 04:10:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 04:10:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 04:10:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 04:10:04       87 阅读
  4. Python语言-面向对象

    2024-03-12 04:10:04       96 阅读

热门阅读

  1. JVM-5

    JVM-5

    2024-03-12 04:10:04      44 阅读
  2. js怎么清空数组?

    2024-03-12 04:10:04       45 阅读
  3. LCR 172. 统计目标成绩的出现次数(二分查找)

    2024-03-12 04:10:04       34 阅读
  4. 蓝桥杯2023年-更小的数(字符串,推理)

    2024-03-12 04:10:04       42 阅读
  5. Android Selinux详解[二]--新增文件标签相关

    2024-03-12 04:10:04       44 阅读