linux 调试工具?
gdb 调试利器:DB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Linux下工作的c++程序员,gdb是必不可少的工具;
ldd 查看程序依赖库:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。
lsof 一切皆文件:lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。
ps 进程查看器:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
如何检查Linux上的glibc版本?
$ ldd --version 注意看出现的第一行哦,那里就会显示glibc xxxxx的版本。
方法二: 另一个方法是在命令行“输入”glibc 库的名称(如,libc.so.6),就像命令一样执行。
输出结果会显示更多关于glibc库的详细信息,包括glibc的版本以及使用的GNU编译器,也提供了glibc扩展的信息。glibc变量的位置取决于Linux版本和处理器架构。
做嵌入式软件的一般用什么软件写和看代码比较好?
谢邀!分为两部分回答,首先如果是单片机或者低端的ARM处理器芯片写裸机或者一些简单的嵌入式操作系统的代码,可以用IAR或者Keil,编写,编译,链接以及在线仿真单步调试都非常方便。
如果是linux下的嵌入式开发,可以用vim或者visual studio code进行开发,也可以用sourceinsight在windows下写完再拷贝到linux下编译。总之,sourceinsight还是非常不错的一款看代码和写代码的软件,结构非常明确,即使是一份陌生的代码,也能很快缕清头绪!希望可以帮到您![玫瑰]
如果是stm32,那么stm32cubemx生成初始化代码,vscode写代码,keil调试。
如果是51,那就keil了,
vscode写代码和读代码都是非常好的选择。插件多
浏览到这个问题,觉得自己确实有建议可以分享一下。前提是51、STM32、Nordic的电路设计算嵌入式设计。
1、写代码建议MDK
我最先使用的单片机是STC89C51单片机,刚开始接触的时候使用的汇编,后来发现改这个代码太麻烦,当然也是水平不足的原因。偶然间使用了C语言,然后用MDK编译一下,然后直接烧写到单片机就能跑起来。
当然爽呆了,别说汇编改写了,修改定时器的中断时间连所谓的寄存器都没好好看过,但是程序能跑就行。所以在入门的时候使用MDK写程序和编译最方便。
现在工作中使用比较多的是STM32,这个基于ARM的MCU使用起来比C8051核的51单片机确实复杂一些。就简单的使用一个GPIO的输出,就得设置时钟,设置频率,设置为输出,一大堆流程。
不过ST终究是一家有同情心的公司,人家提供了基于MDK的SDK呀,咱们调用初始化函数就OK。然后再照葫芦画瓢就能进行自己的设置了。而且,J-link的下载都在MDK中完成了,多舒服。
2、阅读代码可以选择Visual Studio Code
我是个菜鸟工程师,混日子的那种,所以在不会的时候会选择向论坛的大佬求救。比如使用Nordic的芯片时,需要驱动音频,驱动音频的方案不少,但是基本是基于STM32和ESP的。
大佬给的例子程序也是基于他们的,这里就有一个问题那就是IIS总线的使用还是有很大的区别。光是抄写已经不能解决问题,就需要自己根据datasheet和大佬的例子自己写代码了。
有一点大家都很清楚,既然是帮忙,总不能发给你一个完整的程序,自己编译就能用吧。能给一个c文件和h文件已经是慷慨了,这个时候自己看看代码,按照datasheet写点底层驱动时候就不用MDK了,一是已经使用MDK在编写程序了,二是咱们办公室的电脑配置也就那样,打开慢。
这个时候使用一款界面看起来舒服,支持文件编写的就行,按照这个需要可以考虑Visual Studio Code。哈哈,不要觉得这个软件只能看,人家也是有真本事的。
很多具有一定开源性质的项目就使用的这个,上次参加论坛的 GD32 DE mcu试用活动,因为编译需要安装了PlatformIO插件,是可以编译程序的。而且这里的程序构建,采用的是Makefile的形式。
就推荐这两款了,软件的使用见仁见智,最终还是得选择最适合自己操作习惯的那款。