linux裸机编程学习过程中个人错误集合-IMX6ULL开发版】

news2024/11/29 8:39:10
  • main写成mian,编译出错
  • .h文件复制完后忘记更改头文件#ifndef后面的内容,导致头文件一直找不到
  • vscode错误更正完毕后还是找不到库函数参数,把库函数删掉,然后重新写一遍就正常了
  • 写led切换函数,led灯点不亮,是切换函数选择的问题,错误明显但是没发现
  • 弄清楚(GPIO1->DR)&(1<<18)((GPIO1->DR) >> 18) & 0x1的区别:
  • 以下是对这两个表达式的详细解释:
  1. (GPIO1->DR)&(1<<18)

    • 这部分表示对 GPIO1 的数据寄存器(DR)与 1 左移 18 位的值进行按位与操作。
    • 它的目的是检查 GPIO1->DR 的第 18 位是否为 1。
  2. ((GPIO1->DR) >> 18) & 0x1

    • 这部分先将 GPIO1->DR 右移 18 位,然后与 0x1(即二进制的 1)进行按位与操作。
    • 它的作用也是提取 GPIO1->DR 的第 18 位的值,但通过右移操作来实现。

总的来说,这两个表达式都是用于获取 GPIO1->DR 的第 18 位的值,但是其比较的结果不一样,第二种比较的结果只有1或者0,但是第一种比较的结果有0和一个不确定的正值

  • flag=~flag; 的结果是将 flag 的每一位取反,即 0 变成 1,1 变成 0。

  • flag=!flag; 的结果是将 flag 的逻辑值取反,即原来是 0 则变成 1,原来是 1 则变成 0。

  • 但需要注意的是,这两种操作的结果都是对 flag 的值进行修改,具体的结果取决于 flag 原来的值。

  • linux开发环境下bss清除段注释掉才能正常运行,没有进行四字节对齐,_bss_start的反汇编起始地址最后一位一定是能被4整除,例如可以是0x0,0x4,0x0,0x8,0x****c,唯独不可能是0x878000289

  • CCM_ANALOG->PFD_480=reg与上面的步匹配。写成:CCM_ANALOG->PFD_528=reg:错误的形式是:初始化PLL3的各路PFD0-PFD3的时钟时出现大问题,而且后序其他支路用到这条时钟线分支的也不起作用,卡死,SOC卡死,运行不正常;错误代码如下:\

  •   reg=CCM_ANALOG->PFD_480;
      reg &=~(0x3f3f3f3f);
      reg |=(19<<24);              /*初始化PLL3_PFD3=454.7MHz,利用公式的得到:*/
      reg |=(17<<16);              /*初始化PLL3_PFD2=508.2MHz,利用公式的得到:*/
      reg |=(16<<8);               /*初始化PLL3_PFD1=540MHz,利用公式的得到:*/
      reg |=(12<<0);               /*初始化PLL3_PFD0=720MHz,利用公式的得到:*/
      CCM_ANALOG->PFD_528=reg;     /*设置完毕*/设置错误:CCM_ANALOG->PFD_480=reg;
    
  •  reg= CCM->CBCDR;
     reg &= ~(7<<10);  //先清零,这里不能直接先 CCM->CBCDR &= ~(7<<10)清零,因为清零直接变成1分频,
     //超 过了132Mhz,直接死机
     reg |= (2<<10);   //在赋值3分频
     CCM->CBCDR=reg;
     while((CCM->CDHIPR >> 1) & (0x1));/*等待握手信号*/
    
  • 中断初始化错误在这里插入图片描述

  • 配置LCD错误-白屏但是不能正确显示内容,而且反复变色:错误原因是没有正确选择时钟的来源,也就是时钟选择器配置错误,错误如下:

  •   /*这里的目的是把bit17-15变为011,
     但是我只把最高位清零,把中间的置1,没有管bit15
     但是bit15如果原来是1的话,就不能选择正确的时钟*/
      CCM->CSCDR2  &= ~(1<<17);
      CCM->CSCDR2  |= (2<<15);   /*四路时钟选择器*/ 
    
  • 错误重复定义,如果在一个源文件中引用头文件引用了两次,如果出现外部引用和结构体变量,就会出现重复定义,这种错误很隐蔽:错误如下:如果更正后错误依然存在,则可以重启电脑进行试试;
    在这里插入图片描述

  • warning: left shift count >= width of type seconds = ((uint64_t)(SNVS->LPSRTCMR<<32))|(SNVS->LPSRTCLR);出现这种错误指左移超过了这个数的本身长度,这个数是32位的,但是左移32位显然不正确,解决的办法是加上强制类型转换,转换成64位的数;

  • 在这里插入图片描述

  • 注意在单片机中计数器计数一次是外部晶体每次的时钟+1,而不是对应的一秒+1,这个在配置RTC时钟时进行秒数转换有大坑,比如读取秒数时要把秒数除以32K也就是左移17位;

  • 在写IIC通信时,标志位的清除使用错误的寄存器I2CR,而表示标志位的寄存器是:I2SR,也就是清除错误:

  • 在这里插入图片描述

  • 错误:文件能跳转,显示报错未定义,是因为makfile文件中只包含了 源文件的目录,没有包含头文件的目录,错误如下:在这里插入图片描述

  • 在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1670462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊测评实操干货,跨境电商做测评,卖家店铺测评攻略!

亚马逊在全球有超过 2 亿付费 Prime 会员和数以亿计的活跃买家账户&#xff0c;卖家们可以通过亚马逊一流的国际物流扩展业务。这是一个知名度极高的老牌跨境电商平台&#xff0c;而且平台流量非常大&#xff0c;成功打造爆款Listing这是每位亚马逊卖家渴望的诉求&#xff0c;做…

1694jsp宿舍管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 宿舍管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库…

一套3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用、基于C#+VC + MSSQL开发的全套PACS源码

一套3D PACS系统源码&#xff1a;可实现医学影像获取、存档、观片、处理、打印多项应用 PACS的功能价值在于通过连接不同的影像设备&#xff0c;存储与管理图像&#xff0c;图像的调用与后处理&#xff0c;实现资源共享&#xff0c;降低成本&#xff0c;达到提高工作效率、提升…

基础ArkTS组件:导航栏组件(HarmonyOS学习第三课【3.8】)

Navigation 官方文献 Navigation 组件一般作为页面布局的根容器&#xff0c;它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。 Navigation 除了提供了默认的展示样式属性外&#xff0c;它还提供了 CustomBuilder 模式来自定义展示样式 说明 该…

【Python贪吃蛇】:编码技巧与游戏设计的完美结合

文章目录 &#x1f525;一、运行效果&#x1f4a5;二、游戏教程✈1. 导入模块❤️2. 初始化游戏元素☔3. 改变蛇移动的方向&#x1f44a;4. 绘制方块&#x1f680;5. 检查蛇头是否在游戏区域内&#x1f308;6. 定义蛇的移动函数&#x1f3ac;7. 绑定键盘事件 ⭐三、完整代码 &a…

让墨水屏成为生产力工具,文石做对了什么

文 | 螳螂观察 作者 | 青玥 众所周知&#xff0c;如今&#xff0c;我们的生活中大部分时间都被“屏幕”占据&#xff0c;这一承载着交互与显示功能的介质&#xff0c;出现在我们的手机、平板、汽车等产品上&#xff0c;吞没着我们的工作与生活。 而屏幕的长时间使用势必会对…

Hive Sampling 抽样函数

Hive Sampling 抽样函数 1.random随机抽样 2.数据块抽样 3.分桶表抽样

追剧必不可少,益百分艾护轻松解决眼疲劳!

追剧必不可少&#xff0c;益百分艾护轻松解决眼疲劳! 追剧大军已经成为了当下社会一个不可忽视的群体&#xff0c;上到七八十岁的老年人&#xff0c;下到三四岁的孩童&#xff0c;每天大部分的时间都在追剧。而中间这一部分年轻人更是如此&#xff0c;因此我国近视眼的数量也是…

webpack5以下的项目,前端引入node的path模块需要额外配置

webpack5以下的项目&#xff0c;前端import * as path from path时需要额外配置&#xff0c;这里以vue.config.js为例 刚开始引入时报错 其实就是在打包前端项目的时候&#xff0c;将path模块替换成 path-browserify 模块&#xff0c;所以还需要安装 path-browserfify 模块 …

CSS 之 圆形波浪进度条效果

一、简介 ​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果&#xff0c;具体效果参考下方GIF图。该样式的加载进度条可以用在页面跳转或数据处理等情况下的加载动画&#xff0c;比起普通的横条进度条来说&#xff0c;样式效果更生动美观。 实现思路&#xff1a; ​ 这…

未来已来!这三款数字孪生产品你不能错过

随着科技的不断进步&#xff0c;数字孪生技术已经逐渐渗透到我们生活的各个领域。数字孪生&#xff0c;简而言之&#xff0c;就是在虚拟世界中构建一个与物理世界相对应的数字模型&#xff0c;通过实时数据采集和分析&#xff0c;为各种行业和领域提供更高效、更精确的决策支持…

文心一言 VS 讯飞星火 VS chatgpt (258)-- 算法导论19.3 1题

一、假定斐波那契堆中一个根 x 被标记了。解释 x 是如何成为一个被标记的根的。试说明 x 是否被标记对分析并没有影响&#xff0c;即使它不是一个先被链接到另一个结点&#xff0c;后又丢失了个孩子的根。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 斐波那契…

金蝶云星空和旺店通·企业奇门单据接口对接

金蝶云星空和旺店通企业奇门单据接口对接 接通系统&#xff1a;旺店通企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xff0c;先后布局流量获取、会员管理、仓库管理等其他重要经营模块。慧策的产品线从旺…

【最新整理】大佬都在用的10款3DMax插件推荐!

3DMax大佬是怎样练成的&#xff1f;猫有猫道&#xff0c;狗有狗道&#xff0c;不说也许你不知道。手巧不如家什妙&#xff0c;熟练使用各种插件已经成了大佬们的标配&#xff0c;今天&#xff0c;小编就给大家盘点一下最新整理的10款爆火3DMax插件&#xff0c;这些插件不仅能够…

等保三级需要什么安全产品?

等保三级&#xff0c;即信息安全等级保护三级&#xff0c;是中国对信息系统安全等级保护的一个标准。实现等保三级要求&#xff0c;需要部署一系列安全产品来加强信息系统的安全性。以下是等保三级通常需要的安全产品及其作用概述&#xff1a; 防火墙&#xff1a;作为网络安全的…

Electron下复用窗口关闭、最小化和最大化按钮

在macOS下&#xff0c;创建窗口时设置&#xff1a; new BrowserWindow({titleBarStyle: hidden, // 关闭默认的titlebartrafficLightPosition: { x: 18, y: 18 }, // 交通灯距离窗口左侧和窗口上侧的像素距离 })效果&#xff1a; 在window下可以这样设置&#xff0c; new Br…

拥抱数字化转型,解锁企业新质生产力的无限可能

新质生产力是推动社会进步的强大动力&#xff0c;而数字化转型则是释放这种生产力的关键。通过拥抱数字化转型&#xff0c;企业可以解锁新质生产力的无限可能&#xff0c;从而在激烈的市场竞争中脱颖而出。” 企业为什么要数字化转型&#xff1f; 新质生产力&#xff0c;这一…

华为ensp中路由器IPSec VPN原理及配置命令(超详解)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月13日2点11分 虚拟专用网络&#xff08;VPN&#xff09;是一种通过公用网络建立安全连接的技术。它可以使您的设备看起来像是连接到另一个网络&#xff0c;例如公司…

MySQL动态列转行

介绍​​ 在实际的数据库查询中&#xff0c;有时候我们需要将表中的动态列&#xff08;即列数不固定&#xff09;转换为行&#xff0c;以便更好地进行数据分析和展示。在MySQL中&#xff0c;可以通过使用一些技巧和函数来实现动态列转行的功能。本文将介绍怎么实现MySQL动态列…

沃比得 DP12A 对数周期天线 100MHz~2GHz

产品概述 DP12A 对数周期天线该天线可用做超短波发射或接收天线&#xff0c;工作频率为 100MHz&#xff5e;2GHz。 具有频带宽&#xff0c;性能可靠&#xff0c;增益高等优点&#xff0c;是理想的无线电频谱管理、EMC 测试、电子对抗等领 域的定向接收、发射天线。 应用领域…