问题描述:
将tslib测试程序ts_test.c触摸屏的操作程序移植到我的应用程序中,发现程序运行到ts_config函数的时候出现segmentation fault。ts_test程序在开发板上可以运行为什么我的程序却出现segmentation fault?
1 ts = ts_open (tsdevice, 0);
2
3 if (!ts) {
4 perror (tsdevice);
5 exit(1);
6 }
7
8 if (ts_config(ts)) {
9 perror('ts_config');
10 exit(1);
11 }
解决办法:
在交叉编译tslib之后会生成一些库文件和头文件,把产生出来的库文件和头文件全部拷贝到arm-linux-gcc相应的库文件和头文件目录下,然后重新交叉编译程序并拷贝到开发板运行即可。
交叉编译器头文件目录:arm-linux-gcc/4.5.1/arm-none-linux-gnueabi/sys-root/usr/include
交叉编译器库文件目录:arm-linux--gcc/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib
tslib移植请参考:http://www.cnblogs.com/ape-ming/p/5134542.html
参考链接:http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11267
关键字:应用程序 fault
引用地址:
应用程序调用tslib出现segmentation fault
推荐阅读最新更新时间:2026-03-25 12:40
Forrester“总体经济影响研究”表明,Akamai Guardicore Segmentation 实现了 152% 的投资回报率
Forrester“总体经济影响研究”表明,Akamai Guardicore Segmentation 实现了 152% 的投资回报率 2024年 12月10日 – 负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai Technologies, Inc.,以下简称:Akamai)近日发布的最新研究显示,Akamai Guardicore Segmentation 帮助一家综合性企业(基于受访客户)在三年的时间内总计获得了 960 万美元的收益,并且在不到六个月的时间内就实现了投资回报 。Forrester 对 Akamai Guardicore Segmentation 开展的 Total Economi
[网络通信]
STM32如何定位导致发生hard fault的代码段(内存访问错误 段错误 栈溢出)
对不可访问的内存地址进行写操作 uint32_t *addr = (uint32_t *)0x20100000; *addr = 0x12; STM32 定位导致发生 hard fault 的代码段 ~ 流程: 1、获得进入中断服务函数 HardFault_Handler 前的 PC 值(PC 值表示的是汇编指令所在的 flash 地址) 2、生成反汇编文件(内含 flash 地址及对应的汇编指令,以及汇编对应的 C 程序)或者 MAP 文件 3、在反汇编文件中,通过 PC 值找到对应的 C 程序语句;或者在 MAP 文件通过 PC 值找到对应的调用函数 获得进入中断服务函数 HardFault_Handler 前的
[单片机]
浅谈功能安全之故障(fault),错误(error),失效(failure)
功能安全中的有些概念比较绕,比如故障(fault),错误(error),失效(failure),今天就这三个概念进行下探讨。 01 故障 功能安全中定义的故障是指可引起要素或相关项失效的异常情况。 故障可以分为永久故障和非永久故障,其分类如下图所示。 永久性故障是指发生并持续,直到被移除或修复的故障。也就是说永久性故障发生了必须采取相应的措施才能够使其恢复其正常运行。其中系统性故障一般表现为永久性故障。 非永久性故障可以分为间歇性故障和瞬态故障。间歇性故障是指故障一再的发生,然后消失。当一个组件处于损坏的边缘时,或者例如由于开关的电涌(电压的瞬态激烈
[汽车电子]
单片机Fault遇到故障了应该怎么办
我们平时的项目,可能会遇到死机的情况,通过在线调试,或者打印消息,可能会发现,怎么进入了 HardFault_Handler 中断呢? 这种“硬故障”是我们常见的一种故障,导致硬故障的原因也有很多。本文针对 Cortex-M3 说说Fault故障相关的内容。 Fault故障种类 Fault故障的种类有很多,拿本文Cortex-M3来说,主要有: HardFault:硬故障 MemManage:存储器管理故障 BusFault:总线故障 UsageFault:用法故障 比如,在 stm32 f10x_it.c源代码中,有这样的中断入口: void HardFault_Handler(void){ /* Go to inf
[单片机]
stm32中出现的hard_fault问题 如何解决
最近移植别人的一个lora程序,公司前任同事已经搞定的程序,从IAR平台移植到KEIL中,移植后,居然出现了hardfault问题。一直以来,我很少遇到这个问题,遇到了,也算是好事。 然后看看如何解决的吧。 1、单步执行,发现程序运行到哪的时候出现了hardfault问题。发现是初始化的时候。应该是结构体指针的初始化问题。 2、其实也从晚上找了一些如何定位hardfault的问题点的方法。充分利用call stack以及但不调试的工具。 3、问题点通常发生在数据越界,指针未初始化,堆栈溢出的这些情况。 method-1 试过它的方法,查看寄存器,利用反汇编,定位出问题点。http://bbs.ednchina.com/BLO
[单片机]
stm32 hard fault及堆栈探究
在调试RTC过程中,程序在主循环中执行两次后就进入hard fault的while(1)中断,keil显示调试窗口显示imprecise data bus error。完善RTC配置的时序也无济于事。网上查到一些hard fault的资料: STM32F10xxx Cortex-M3 programming manual 2.3.2对hard fault, bus fault等有具体的解释。keil的网站上也有概括性的解释:hard fault由bus fault, memory management fault或usage fault引起,前者有固定的仅次于NMI的高优先级;调试过程中出现的bus error属于bus fau
[单片机]
Akamai推出高级威胁防护解决方案Firewall for AI ,确保 AI 应用程序安全无虞
Akamai推出高级威胁防护解决方案Firewall for AI ,确保 AI 应用程序安全无虞 Akamai 最新的解决方案利用 AI 来增强安全性,同时保护企业免受 AI 驱动的威胁 2025年 5月9日 – 负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai Technologies, Inc.,以下简称:Akamai)今日宣布推出 Firewall for AI,这是一种新的解决方案,为 AI 应用程序提供多层保护,防止未经授权的查询、对抗性输入和大规模数据抓取尝试。 随着 AI 迅速改变各个行业,企业正在快速部署大型语言模型 (LLM)、AI 智能体和其他新兴工具。然而,这些创新带来了新的
[物联网]
怎么把android的apk 应用程序打包到userdata.img镜像当中去?
有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上百度了一下,只有说如何把apk文件打包到system.img 里面,应该也是类似的。试试参考是否行。 把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到outtargetproductgenericsystemapp中。 (2) 执行命令make snod , 把添加的spk编到system.img 中 缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。 2 方法一 的改进。 (1) 新建一个文件夹目录,用来存放apk文件 mkdir pac
[单片机]