
QT报FTH:(12356)告警程序能运行正常但是在运行时会提示“FTH: (12356): *** Fault tolerant heap shim applied to current process.”。经过网上多番查找解决方法如下解决方案打开CMD命令窗口在命令行输入regedit注册表命令路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers选中Layers键值从右侧列表中删除自己的程序路径即可。删除程序的调试文件重新构建新的调试文件QT读取img文件异常使用QFile-readAll()读取img文件返回的QByteArry结果异常使用qDebug()也没有打印出信息解决方案file.open(QIODevice::ReadOnly); md5File.addData(file.readAll()); if(file.error() ! QFileDevice::NoError) // 增加检查错误状态 qDebug() file.errorString();error()方法可能是 Qt 文件操作的内部状态机需要某种触发来完成初始化或状态同步error()、errorString() 调用恰好提供了这种触发。GD32F107RCLWIP1.4.1LAN8720长时间通讯死机问题程序能运行正常但是在运行一段时间后通讯不上。经过在线调试发现ENTER_DMA_STAT的 bit7 RBU 会置位或者 bit2 TBU 会置位从而导致发送或者接收的DMA挂起。解决方案根据数据手册发送查询挂起后的处理了解需要处理哪些接收挂起也类似在LWIP的底层发送函数增加代码staticerr_tlow_level_output(structnetif*netif,structpbuf*p){while((dma_current_txdesc-statusENET_TDES0_DAV)(INT32U)RESET)//0:MCU 1:DMA{if(enet_flag_get(ENET_DMA_FLAG_TBU)SET){enet_flag_clear(ENET_DMA_FLAG_TBU_CLR);// 清除标志位}enet_dmaprocess_resume(ENET_DMA_TX);// 写入任意值让TxDMA重新回到运行状态dma_current_txdesc(enet_descriptors_struct*)(dma_current_txdesc-buffer2_next_desc_addr);}...// 继续执行剩下步骤}MCU多任务执行某动作后死机问题示例代码带盖入下voidmyTask(void*);vTaskCreate(“demo”,myTask)voidusrFun(){支持C99编译创建很多局部变量超过4kbswitch(xx){case1:{switch(ii){case1:{inta;}break;}}break;case2:{switch(jj){case2:{intb;}break;}}break;casenn:{switch(kk){case1:{虽然代码不会执行到这里但是编译器不知道能不能执行到这会把a数据也 编译成usrFun函数的局部变量导致每次进入该函数MCU的PSP指针指向地址 已经超过myTask任务堆栈用到其他任务的内存导致其它任务会触发 HardFault_Handler 异常inta[4096];}break;}}break;}}voidmyTask(void*){fun1();fun2()while(1){循环执行代码 递归调用用户代码、协议栈代码 符合条件运行 usrFun 函数}}在这里插入图片描述Ubuntu文件夹有文件但文件管理器显示为空问题可以通过终端ls -lh命令来查看文件夹但是使用文件管理器来打开文件夹文件管理器显示内容为空解决方案在终端重启文件管理器如 Nautilusnautilus-q# 退出nautilus# 重新启动RK3506偶尔出现重命名失败问题使用udev规则来解决网络名乱变动问题这样可以使运用程序可以直接写死接口。现在是启动时偶尔出现如下内容[ 12.292615] ntfs3: Max link count 4000 [ 12.380221] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 12.394747] cfg80211: Loaded X.509 cert sforshee: 00b28ddf47aef9cea7 [ 12.396135] cfg80211: Loaded X.509 cert wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600 [ 12.412405] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 12.412468] cfg80211: failed to load regulatory.db Populating /dev using udev: [ 12.726886] udevd[365]: starting version 3.2.14 [ 12.836369] udevd[366]: starting eudev-3.2.14 [ 13.571111] mtdblock: MTD device uboot is NAND, please consider using UBI block devices instead. [ 13.577260] mtdblock: MTD device misc is NAND, please consider using UBI block devices instead. [ 13.589709] mtdblock: MTD device vnvm is NAND, please consider using UBI block devices instead. [ 13.611712] mtdblock: MTD device recovery is NAND, please consider using UBI block devices instead. [ 13.623132] mtdblock: MTD device boot is NAND, please consider using UBI block devices instead. [ 13.642100] mtdblock: MTD device rootfs is NAND, please consider using UBI block devices instead. [ 13.661692] mtdblock: MTD device oem is NAND, please consider using UBI block devices instead. [ 13.671524] mtdblock: MTD device userdata is NAND, please consider using UBI block devices instead. [ 13.766037] udevd[374]: Error changing net interface name eth0 to eth1: File exists [ 13.782078] rk_gmac-dwmac ff4d0000.ethernet eth2: renamed from eth1 [ 13.782290] udevd[374]: could not rename interface 5 from eth0 to eth1: File existsudev规则如下SUBSYSTEMnet,KERNELSff4d0000.ethernet,NAMEeth2SUBSYSTEMnet,KERNELSff4c8000.ethernet,NAMEeth1解决方案在规则中指定发生事件后才进行重命名。SUBSYSTEMnet,KERNELSff4d0000.ethernet,ACTIONadd,NAMEeth2SUBSYSTEMnet,KERNELSff4c8000.ethernet,ACTIONadd,NAMEeth1Keil5----Debug时watch1中全局变量数值不刷新问题解决方法!仿真时监控的变量没有自动刷新需要暂停程序才会刷新变量值。解决方案点击View然后勾选 Periodic Window Update具体操作如下常用软件链接文件比较器Beyond Compare是市面上常用的文件比较器但是需要收费WinMerge这是开源软件支持文件、文件夹、文本、二进制文件比较文本编辑器Notepad作为编辑器还可以扩展其它插件插件种类和基本教程可以参考CSDN博客PDF查看器Sumatra PDF 特点:极简设计体积小巧启动速度快。支持PDF、ePub、MOBI、CHM等多种格式。开源免费无广告。PLC平台CODESYS是市面上通用PLC编程器下载地址https://store.codesys.cn/codesys/store/detail.html?productId1377500968401494017可以下载运行在树莓派的Runtime网络工具Wireshark网络抓包工具有线、无线、虚拟网络等UDP、TCP、HTTP、工业网络协议等NetAssist网络调试助手TFTPD64支持TFTP、DNS服务、DHCP服务、SNTP等。方便做网络功能测试。EtherCAT 报文相关书籍工业以太网现场总线EtherCAT驱动程序设计及应用串口工具NetAssist串口调试助手SSCOM 串口网络调试助手vofa基于串口图形化显示用于PID、电流、电压、马鞍波等波形查看USB报文捕获工具BusHound https://www.usbzh.com公式示例21223223423E c S 2 EcS^2EcS23423335345E W 3 公式 3 \boxed{EW_3} 公式3EW3公式3