代码拉取完成,页面将自动刷新
debug :
uart4 (115200 8 1) (初始化时需要swap rx-tx)
pd00
pd01
ext flash :
xspi2 (w35t51nwie) (Octo SPI, Port2 Octo, NCS1-Port2) 64MB
w35t51nwie cfg reg (0xff = Default for Extended SPI, Device ID: Configuration=00h)
SPI Flash ID: ef 5b 1a 02 00 00
EFh
5Bh = 1.8V
1Ah = 512Mb
02h
00h: Uniform 64KB Blocks
00h: Extended SPI (SDR)
PN1 ------> XSPIM_P2_NCS1
PN3 ------> XSPIM_P2_IO1
PN0 ------> XSPIM_P2_DQS0
PN11 ------> XSPIM_P2_IO7
PN10 ------> XSPIM_P2_IO6
PN9 ------> XSPIM_P2_IO5
PN2 ------> XSPIM_P2_IO0
PN6 ------> XSPIM_P2_CLK
PN8 ------> XSPIM_P2_IO4
PN4 ------> XSPIM_P2_IO2
PN5 ------> XSPIM_P2_IO3
keil flm :
load addr 0x24000000, size 0xf000
xspi2 memory mapped:
(0x70000000) mpu必须配置, 否则无法xip
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER0;
MPU_InitStruct.BaseAddress = 0x0;
MPU_InitStruct.Size = MPU_REGION_SIZE_4GB;
MPU_InitStruct.SubRegionDisable = 0x87;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;
MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
MPU_InitStruct.BaseAddress = 0x70000000;
MPU_InitStruct.Size = MPU_REGION_SIZE_16MB;
MPU_InitStruct.SubRegionDisable = 0x0;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
psram :
xspi1 (aps256xxn) (Hexa SPI, Port1 Hexa, NCS1-Port1)
PO3 ------> XSPIM_P1_DQS1
PP10 ------> XSPIM_P1_IO10
PP12 ------> XSPIM_P1_IO12
PP14 ------> XSPIM_P1_IO14
PP2 ------> XSPIM_P1_IO2
PP5 ------> XSPIM_P1_IO5
PO2 ------> XSPIM_P1_DQS0
PP1 ------> XSPIM_P1_IO1
PP11 ------> XSPIM_P1_IO11
PP15 ------> XSPIM_P1_IO15
PP3 ------> XSPIM_P1_IO3
PP0 ------> XSPIM_P1_IO0
PP7 ------> XSPIM_P1_IO7
PP8 ------> XSPIM_P1_IO8
PP13 ------> XSPIM_P1_IO13
PP4 ------> XSPIM_P1_IO4
PO4 ------> XSPIM_P1_CLK
PP6 ------> XSPIM_P1_IO6
PO0 ------> XSPIM_P1_NCS1
PP9 ------> XSPIM_P1_IO9
aps256 在读取控制寄存器时,要按 0-1 2-3 4-8 一次读取两个寄存器的值,
1-2,3-4 读取的值依旧是 0-1,2-3
地址按偶数,奇数地址读到的是 奇数地址-1 的值
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。