首页
学习
活动
专区
圈层
工具
发布

【分享】PetaLinux调试技巧2篇

作者: 付汉杰 hankf@xilinx.com hankf@amd.com 测试环境: Vivado/PetaLinux 2021.2, Linux 5.10.0 禁止Petalinux的recipes...增加的驱动 Petalinux工程,通过meta-user\recipes-kernel\linux\linux-xlnx中的patch文件,给Linux kernel增加了驱动,并使能为module形式编译...在编译后,把linux kernel的代码复制出来,再修改其中对应驱动程序的makefile,在makefile里删除驱动的“.o”文件。之后再编译,文件系统里,对应的驱动消失了,达到了目的。...编译时,Linux内核驱动程序中的__DATE__和__TIME__ 被报告错误 调试时,为了保证使用的内核驱动程序是最新版本,再驱动里增加了__DATE__和__TIME__的打印。...max9295_serdes_probe': drivers/media/i2c/avt_multi_sensor_fmc/max9295_serdes.c:58:93: error: macro "__DATE

1.5K30

编程这么久, 它们了解多少(一)

,先看一些系统标准宏: 一、 ANSI C 标准宏 1、 ANSI C标准宏 __LINE__ // 在源代码中插入当前源代码行号 __FILE__ // 在源文件中插入当前源文件名 __DATE...// 当要求程序严格遵循ANSI C标准时该标识被赋值为1 __cplusplus // 当编写C++程序时该标识符被定义 _WIN32 // 在程序运行在windows系统上被定义位1 linux...// 在程序运行在linux系统上被定义位1 __x86_64__ // 在程序运行在64位系统上被定义位1 __i386__ // 在程序运行在32位系统上被定义位1 __VA_ARGS...func__); printf("__FILE__:%s\n", __FILE__); printf("__LINE__:%d\n", __LINE__); printf("__DATE...__:%s\n", __DATE__); printf("__TIME__:%s\n", __TIME__); DEBUG("test log number is %d ", test

58010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言打印程序行号、日期方便调试程序

    ANSIC标准定义了可供C语言使用的预定义宏: __LINE__ : 在源代码中插入当前源代码行号 __FILE__ : 在源代码中插入当前源代码文件名 __DATE__ : 在源代码中插入当前编译日期...标识符__DATE__和__TIME__一般可以用来表示固件的版本,方便了解运行的程序是什么时候的版本。 标识符__LINE__是一个整数,其他的文件名称、日期、时间都是字符串。...二、打印示例 printf("编译日期与时间: %s,%s\n", __DATE__,__TIME__); printf("当前所在行号:%d\r\n", __LINE__); printf("当前源文件名称...:%s\r\n", __FILE__); printf("当前固件编译日期:%s\r\n", __DATE__); printf("当前固件编译时间:%s\r\n", __TIME__); 三、C语言封装快捷...当前所在行号:%d\r\n", __LINE__); DebugPrintf("当前源文件名称:%s\r\n", __FILE__); DebugPrintf("当前固件编译日期:%s\r\n", __DATE

    2.5K20

    编译和链接(翻译环境:预编译+编译+汇编+链接​、运行环境)

    VS中编译器:cl.exe ;Linux中目标文件后缀.o  Windows中目标文件.obj  ,链接器 link.exe 翻译环境​ 那翻译环境是怎么将源代码转换为可执行的机器指令的呢?...注:在Windows环境下的目标文件的后缀是 .obj ,Linux环境下目标文件的后缀是 .o ​ 多个目标文件和链接库一起经过链接器处理生成最终的可执行程序。...VS2022  IDE 集成开发环境 Linux 环境下C语言编译器:gcc 二、预处理(预编译)​ 在预处理阶段,源文件和头文件会被处理成为.i为后缀的文件。​...__FILE__ //进行编译的源文件​ __LINE__ //文件当前的行号​ __DATE__ //文件被编译的日期​ __TIME__ //文件被编译的时间​ __STDC__ //如果编译器遵循...file:%s line:%d\n", __FILE__, __LINE__); int main() { printf("%s\n", __FILE__); printf("%s\n", __DATE

    60710
    领券