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

阿里巴巴的网站怎么做搜索引擎优化宝典

阿里巴巴的网站怎么做,搜索引擎优化宝典,jsp做购物网站技术可行性,淘宝网站店铺请人做功能比较庞杂,写得不好,抛砖引玉 预备知识 stm32 默认从主闪存0x08000000启动 art-pi2的psram 映射0x90000000 art-pi2的8线ospi flash 映射0x70000000 stm32h7比较灵活,通过修改选项字节,可以实现从 0x0000 0000 到 0x3FFF 0…

功能比较庞杂,写得不好,抛砖引玉

预备知识

stm32 默认从主闪存0x08000000启动

art-pi2的psram 映射0x90000000

art-pi2的8线ospi flash 映射0x70000000

  • stm32h7比较灵活,通过修改选项字节,可以实现从

    0x0000 0000 到 0x3FFF 0000 地址进行启动,这里不展开,感兴趣参考:【不是问题的问题】为什么STM32的Flash地址要设置到0x08000000 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!

  • stm32h7r系列内部flash只有64k,支持在外部flash上xip运行代码

内存映射原理

将内核对地址的访问操作转为对ospi/xspi总线的操作,需要内核支持且外设配置进入内存映射模式(初始化),进入内存映射模式后就可以xip运行代码;可以类比fsmc对扩展sdram的操作

下载算法flash loader

下载算法大致原理为调试器通过jtag/swd将一小段可执行程序传输到板子的ram,并通过jtag/swd调用其中的init、erase、read、write等函数,以操作内部/外部flash;原理参考下图:

  • flm/stldr格式本质也是elf可执行程序,不含main程序;.stldr可以导出给cubeprogram等软件使用,studio的APP工程也有使用;keil的下载算法格式为.flm

screenshot_image-20250521145342-kipjmk7.png

下载和运行流程

通过stlink下载app的流程:swd传输下载算法,将用户app的elf写入0x70000000然后重启,由bl完成剩余操作

运行流程:从0x08000000启动bl,初始化psram和外部flash,进行内存映射HAL_XSPI_MemoryMapped;跳转到0x70000000(外部flash映射后的地址),开始XIP运行

app下载到外部flash需要设置下载算法(默认已配好):

  • 注意下载算法运行在ram中,仅操作外部flash,不能替代bootloader,不能完成上电到跳转app的过程
  • 也可以使用stm32 cubeprogram下载,支持回读外部flash的内容

bootloader工程

在studio中新建工程,选择基于开发板/art-pi2/示例工程/art_pi2_bootloader

在main中完成了外部flash和psram的初始化,并进入xip模式;

随后跳转到外部flash运行app程序;比较常规

int main(void)
{MX_FLASH_Init();EXTMEM_Init();EXTMEM_Flash_Probe();EXTMEM_PSRAM_Probe();EXTMEM_Flash_EnterXIP();EXTMEM_PSRAM_EnterXIP();rt_kprintf("\nJump to APP...\n");rt_hw_interrupt_disable();JumpToApplication();return RT_EOK;
}
#define APPLICATION_ADDRESS XSPI2_BASE  //(uint32_t)0x70000000int JumpToApplication(void)
{typedef void (*pFunction)(void);pFunction JumpToApp;uint32_t Application_vector;/* Suspend SysTick */SysTick->CTRL = 0;/* Disable I-Cache---------------------------------------------------------*/SCB_DisableICache();  //TODO SCB_Disables Cache and jump success/* Disable D-Cache---------------------------------------------------------*/SCB_DisableDCache();/* Apply offsets for image location and vector table offset *///  Application_vector += EXTMEM_XIP_IMAGE_OFFSET + EXTMEM_HEADER_OFFSET;Application_vector = APPLICATION_ADDRESS;SCB->VTOR = (uint32_t)Application_vector;JumpToApp = (pFunction)(*(__IO uint32_t *)(Application_vector + 4u));__set_MSP(*(__IO uint32_t *)Application_vector);__set_CONTROL(0);JumpToApp();return 0;
}
  • 注意:bootloader工程这里选择全片擦除,扇区擦除可能无法烧写

screenshot_image-20250524093549-zwylnzn.png

app示例工程

art_pi2_blink_led

重点看看链接脚本lds文件,text段放在了QFLASH中,如下图,链接时会将代码链接到外部flash中

在这里插入图片描述

程序中注意重定向中断向量表,然后就可以愉快地写应用了~

#define XSPI2_BASE                      0x70000000UL  /*!< XSPI2 base address */
static int vtor_config(void)
{/* Vector Table Relocation in Internal XSPI2_BASE */SCB->VTOR = XSPI2_BASE; return 0;
}
INIT_BOARD_EXPORT(vtor_config);

  • 下载算法配置:ART-Pi2_ST_winbond_64MB.stldr

在这里插入图片描述

补充

  • 对裸机感兴趣的可以看看 @lizimu2020 的仓库 https://gitee.com/lizimu2020/ART_Pi2

  • 对于全片跑在sram方案(章节7/8 RT-Thread-ART-Pi2移植CMSIS-DAP(基于CherryUSB协议栈)RT-Thread问答社区 - RT-Thread ),如果无需频繁修改bootloader程序(固定跑在0x70000000的外置flash上,仅做应用开发),使用默认bootloader即可

http://www.dtcms.com/wzjs/226037.html

相关文章:

  • 做网站做地区好还是全国的好处合肥关键词排名
  • 张家界seo推广seo入门教学
  • 网站首页图片素材长图百度官网推广平台
  • wordpress 小程序 教程东莞网络优化哪家公司好
  • 招标网站排名百度推广需要多少钱
  • 怎样做网站ppt网络营销课程论文
  • 内蒙古建设工程造价信息网官方网站广告营销公司
  • 网站的推广方式电商推广
  • 精品网站制作临沂百度推广的电话
  • 怎样做访问外国网站才能不卡传媒网站
  • 新余 网站建站 设计 公司北京百度推广优化排名
  • 做产品的往这看:国外工业设计网站大全!网站推广的目的
  • 如何做微信商城网站建设济南网站优化
  • 国家知识产权局专利缴费新的seo网站优化排名 排名
  • 网站建设价格与哪些400个成品短视频
  • 为什么找别人做网站网站外链有多重要
  • 电子商务网站推广与建设论文万网的app叫什么
  • 如何建独立网站下载百度到桌面上
  • 做阿里巴巴网站电话长沙网站搭建优化
  • 西安网站建设ruiqinet西安计算机培训机构排名前十
  • 天津免费做网站个人网站网址
  • 做网站 客户一直要求改公司网站如何seo
  • 西安网页设计多少钱抖音seo排名软件哪个好
  • 济南章丘网站建设中国营销传播网官网
  • 广州易网网站建设黄冈网站建设收费
  • 平台网站建设网站站长工具站长之家
  • 简单的旅游网站代码甘肃seo技术
  • 外观设计网站站长工具官网域名查询
  • 生态旅游网站的建设的内容武汉大学人民医院东院
  • 有哪些网站可以做ppt淘宝关键词搜索量查询工具