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

故宫文创产品搜索引擎优化论文3000字

故宫文创产品,搜索引擎优化论文3000字,网站页面设计图片素材,福州网龙网络公司遇到的问题: 未开优化是正常执行,打开优化,无法运行,定位到异常语句 //ADC_REG 是ADC结果寄存器地址 uint32 adc *(uint32 *)ADC_REG; uint32 temp adc&0xffff;未优化汇编代码 //uint32 adc *(uint32*)ADC_REG; MOVW R…

遇到的问题:
未开优化是正常执行,打开优化,无法运行,定位到异常语句

//ADC_REG 是ADC结果寄存器地址
uint32 adc = *(uint32 *)ADC_REG;
uint32 temp = adc&0xffff;

未优化汇编代码

//uint32 adc = *(uint32*)ADC_REG;
MOVW	 	R8 ,	#0X0824					//加载高16位地址
MOVT		R8 ,	#4090					//加载低16位地址
LDR.W		R0,		[R8]					//读取32位数据
//uint32 temp = adc&0xffff;
UBFX 		R2 , 	R0,		#0,		#16		进行与运算

优化汇编代码

//uint32 adc = *(uint32 *)ADC_REG;
//uint32 temp = adc&0xffff;
MOVW	 	R8 ,	#0X0824					//加载高16位地址
MOVT		R8 ,	#4090					//加载低16位地址
LDRH		R0,		[R8]					//半字节数据读取数据到R0

问题就在 LDRH指令;由于通用寄存器读取外设寄存器需要按照32位读取,并且需要使用的数据刚好就是半字,编译器优化后就使用LDRH指令进行半字读取,从功能上是等效的,但是由于内核寄存器对外设寄寄存器需要使用32位读取即LDR.W指令,编译器优化使用16位读取即LDRH,故此出现 busfault 。解决办法,即在读取时添加volatile,不使用用编译器优化。

volatile优化汇编代码

//uint32 adc = *(volatile uint32*)ADC_REG;
MOVW	 	R8 ,	#0X0824					//加载高16位地址
MOVT		R8 ,	#4090					//加载低16位地址
LDR.W		R0,		[R8]					//读取32位数据
UBFX 		R0, 	R0,		#0,		#16		//进行与运算
http://www.15wanjia.com/news/8495.html

相关文章:

  • 网站打开速度优化凡科网免费建站官网
  • 企业做外贸网站常用术语网络营销和网站推广的区别
  • 怎么在工商网站做实名认证seo研究中心怎么样
  • 什么是网络营销?南昌seo计费管理
  • 响应式网站一般怎么设计网络推广方法
  • 南昌网站建设价格百度指数搜索
  • jsp做网站组件湖南正规seo优化报价
  • 做证明图片的网站免费发布信息网站大全
  • 做影视后期应该关注哪些网站百度搜索引擎使用技巧
  • 支付宝接口 网站备案网络营销服务策略
  • 已备案网站外贸推广公司
  • 四川省建设网站电子签章b站视频推广网站动漫
  • 做网站的客服回访话术seo优化推广多少钱
  • 网站挂百度广告网站模板怎么建站
  • 做网站必须要购买域名怎么提交网址让百度收录
  • 网站建设的公司前景百度提问登陆入口
  • 免费的中文logo网站b站推广网站2024年
  • 网页设计公司网站设计十大接单推广app平台
  • 网站建设影音先锋网址网站页面优化包括
  • 少儿类网站怎么做灰色推广引流联系方式
  • 桥西区网站建设湖北网络推广有限公司
  • 更换网站logoseo公司北京
  • 代理记账公司利润大吗seo的优化步骤
  • 聂教练做0网站windows优化大师怎么彻底删除
  • 做移动端网站软件宁波网站推广优化外包
  • 系统那个网站免费seo在线教学
  • 企业网站建设费怎么入账网络营销的seo是做什么的
  • 新开传奇网站刚开一秒第一区中国免费广告网
  • 蠡县网站建设上海专业做网站
  • 网站后期维护方案青岛网络推广公司排名