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

室内设计装修网站网站建设企业服务

室内设计装修网站,网站建设企业服务,3.建设营销型网站流程,投资理财网站开发目录 1、框架总述 2、com区和bank区 com区(公共区): bank区(也称为flash区): 3、开发时需要注意: 终上所述, 开发时需要注意如下: 4、函数放入com区的写法 1、框架总述 随着蓝讯蓝牙方案在这一年两迅速崛起, 公司也开始涉及到蓝讯蓝牙方案开发, 在这里记录一些找到资料和…目录 1、框架总述 2、com区和bank区 com区(公共区): bank区(也称为flash区): 3、开发时需要注意: 终上所述, 开发时需要注意如下: 4、函数放入com区的写法 1、框架总述 随着蓝讯蓝牙方案在这一年两迅速崛起, 公司也开始涉及到蓝讯蓝牙方案开发, 在这里记录一些找到资料和自己的理解, 和大家一起分享。 LX蓝牙芯片采用最近比较流行的RISC-V(32位)开源内核架构 国产RT-Thread操作系统。不过从代码上来看, 操作系统代码已经被封装到库中, 一般用户可以不用涉及操作系统代码, 降低了开发难度。 LX芯片“冯·诺依曼结构”, 即代码与数据的统一编址。框架结构大致如下: 芯片内部一般会封装一颗512K或1M SpiFlash, 用于存放代码及资源文件/参数记忆等. SpiFlash和芯片之间通过spi接口进行通信. 首先,代码不会直接在SpiFlash上运行, SpiFlash中所有程序及数据均需要先通过spi接口加载到芯片RAM中, CPU再从RAM中取指令或数据运行. 2、com区和bank区 基于上述的程序存储框架, LX芯片在程序编写时, 有两个重要的概念: com区(公共区) 和 bank区. com区(公共区): 芯片上电, 一般从Mask程序区开始运行, 在进入main函数之前, 程序会先把com区程序从Flash加载到芯片内部Ram. 由于在程序的整个生命周期内, com区程序会一直保留在RAM中. CPU执行com区代码会很快.   但由于芯片RAM有限, com区一般分配在几十K以内. bank区(也称为flash区): Flash中的bank区(存储区)一般是几百K以上. RAM中的bank程序运行区(类似cache), 一般从几K到几十K不等. 由于RAM中的bank区远远小于FLASH中的bank区, 所以CPU会根据需要不断把Flash(bank程序存储区)中的代码动态替换(加载)到 RAM中的bank程序运行区运行. 由于芯片与Flash之间通过spi进行通信, bank区代码执行速度相对比较慢. 3、开发时需要注意: 终上所述, 开发时需要注意如下: 1中断函数(及其子函数)必须放入com区, 否则(放入bank区)会导致死机. 中断响应需要非常及时, com区程序常驻于RAM中, CPU可以迅速响应中断函数.   如果中断函数放入bank区, 中断响应时,可能该bank区还未加载到RAM中, 还需要先加载再运行耗时相对较慢.  为了防止中断响应慢,芯片做了限定: 中断中加载bank区代码则直接死机.  另外需要特别注意: 中断函数中不能有switch语句, swith语句编译后生成的跳转常量表会默认放到bank区, 引起中断函数访问bank区死机. 请用if-else语句代替switch语句. 一些实时性要求比较高的代码,首选放入com区. 2).函数前没有AT指定存放段的代码, 默认放入bank区,  bank区代码自动加载(或替换), 不需要人工干预. 由于bank区加载到RAM, 需要spi通信, IO翻转会有一定干扰, 在一些对干扰敏感的应用中, 如FM, 可以把所有相关程序放入同一个命名的bank, 这样bank加载时, 会大概率地把所有同一bank中的程序一次性加载到RAM中,减少程序运行时可能不断多次地加载引起的spi通信干扰. 4、函数放入com区的写法 在函数前面加入AT(.指定段名到com区) 即可.示例如 usr_tmr1ms_isr函数前面AT(.com_text.timer) AT(.com_text.timer) void usr_tmr1ms_isr(void) {gui_scan(); ..... } 在map.text中可以看到, usr_tmr1ms_isr位于 0x20e4a.位于0x20000~ (0x2000034K) 的com区内. 另外有一点, printf参数中的字符串常量也是默认放在bank区中, 如果在中断中调用printf, 也需要把字符串常量放入com区. 如下: AT(.com_text.str1) const char str1[] “Com String”; AT(.com_text.str2) / / 注意每个字符串前都需要增加 AT定位到com区去. const char str2[] “val %d\n”; 调用printf时, 直接使用该字符串即可: AT(.com_text.timer)void usr_tmr5ms_isr(void){ printf(str1);printf(str2, test_val);……} 参考资料 [1]中科蓝讯蓝皮书————芯片框架简述
http://www.eeditor.cn/news/121084/

相关文章:

  • 网站用什么系统好省建设厅官方网站
  • 建设厅网站生成案卷生成不了wordpress logo img
  • 做英文网站需要多少网站策划书籍推荐
  • 桐梓县工程建设交易网站做简历的网站
  • 怎样在织梦后台里面做网站地图seo是哪个国家
  • 江苏住房和城乡建设厅官方网站6如何创建网页模板
  • 访问的网页正在升级中网站结构优化包括什么
  • 创建一个网站所需的成本快速做网站用什么软件
  • 网站建站哪个好设计制作生态缸
  • 电子商务网站建设工资具有口碑的柳州网站建设公司
  • 我的网站百度怎么搜索不到了iis怎么搭建设计网站
  • 青岛联通网站备案wordpress增加用户
  • 企业网站建设外包做app网站制作
  • 做网站logo的网站商城网站建设公司地址
  • .net做网站c#桂平网站建设
  • asp.net网站建设项目实战 董义革wordpress有趣的插件
  • 做网站的语烟台企业建站系统模板
  • 网站建设的法律依据网站建设模板网站
  • 如何在工商局网站上做网登网站建设模式有哪些方面
  • 建设一个公司的网站需要多少钱wordpress 与 微信怎么配合
  • 商业网站的后缀网络系统管理与维护机考
  • xp asp 网站建设包装设计征集网站
  • 万网主体新增网站备案需要是滴么台江网站建设
  • 辽阳网站推广xiu主题做的网站
  • 河北婚庆网站建设定制深圳企业网页制作
  • 网站开发如何验证可以申请域名的网站
  • 黄冈建设培训中心网站wed网站
  • dedecms英文外贸网站企业模板智慧团建网站链接
  • 医疗企业网站模板免费下载页面设计的英文
  • 响应式网站建设特征即时通讯app开发