专注于嵌入式技术分享!
【Linux】例说gdb 【Linux】例说gdb
GDB简介GDB(GNU Debugger)是一个强大的命令行调试工具。一般的,在Windows下进行开发,很少操控命令行调试,调试器大多与编译器都集成在IDE里了。当然在Windows下也可以直接使用gcc、gdb来做编译调试我们的C程
2021-10-11
面试官:Linux如何编译出C程序? 面试官:Linux如何编译出C程序?
Windows下常用IDE来编译,Linux下直接使用gcc来编译,编译过程是Linux嵌入式编程的基础,也是嵌入式高频基础面试问题。 一、命令行编译及各个细分编译过程hello.c示例代码: #include <stdio.h&g
2021-10-11
【Linux】如何查看Linux命令工具的源码? 【Linux】如何查看Linux命令工具的源码?
上一篇分享了两个使用的小工具:两种方法,将日志信息保存到文件。有位小伙伴留言问道tee工具的代码在哪: 这篇文章我们就来简单分享一下。 首先,我们需要了解Linux下的命令分为大致分为两类:内置命令与非内置命令。 查看内置命令源码内置命
2021-10-07
【Linux】浅析apt、deb背后的那些知识 【Linux】浅析apt、deb背后的那些知识
什么是deb?deb是Debian派系Linux发行版软件包格式的文件扩展名。deb包在Linux操作系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。常见的Linux派系如: 其中,Fe
2021-10-07
【Linux】如何同时输出调试信息到终端与文件? 【Linux】如何同时输出调试信息到终端与文件?
在Linux下的开发中,printf打印调试信息默认输出到标准输出 stdout(即屏幕/终端)中。我们也可以使用输出重定向技术输出到指定文件中,输出重定向即是把原本要输出到屏幕的信息写入到指定文件中。比如: 但是有时候既要实
2021-10-06
【Linux】nanomsg高性能通信库的简单实用分享 【Linux】nanomsg高性能通信库的简单实用分享
前言上次的推文实用 | 分享几个非常实用的开源项目中有提到过nanomsg,正好最近的工作中也有用到nanomsg,本篇推文来简单分享一下nanomsg的基本使用。 nanomsg简介nanomsg是一个实现了几种 可扩展协议 的高性能通
2021-10-04
【Linux】什么是总线错误? 【Linux】什么是总线错误?
大家好,我是杂烩君。 最近踩了一个总线错误的坑,简单总结、复盘分享给大家: 什么是总线错误?平时开发过程中,我们常遇到的、引起进程崩溃的错误,大多都是段错误吧。段错误(segmentation fault)就是指访问的内存超出了系统所给这
2021-08-02
【Linux】如何实现开机自启动? 【Linux】如何实现开机自启动?
在《实用 | 如何远程登录开发板?》这篇文章中我们给开发板配置了网络,但是板子重启之后,又得手动输入命令去配置连接WiFi。 在《实用 | 10分钟教你搭建一个嵌入式web服务器》、《实用 | 10分钟教你通过网页点灯》这两篇文章中我们每
2021-08-02
【Linux】如何通过网页点灯? 【Linux】如何通过网页点灯?
大家好,我是杂烩君。 上一篇实用 | 10分钟教你搭建一个嵌入式web服务器我们已经基于我们的开发板搭好了一个基于boa的web服务器。这一篇接着分享如何使用网页来点灯。 网页点灯的整个流程大致为: 从上到下,前面两部分我们就是我们上一
2021-07-31
【实践】嵌入式并行多线程处理器初体验 【实践】嵌入式并行多线程处理器初体验
大家好,我是杂烩君。 最近,朋友送了块小板子,板子上的MCU是个很有意思的东西——并行多线程处理器MC3172 。 通俗地说,这颗MCU的内部实现了类似RTOS多线程的功能。但是MC3172 编程与RTOS编程的最大区别就是: MC31
嵌入式开发中C语言编程的一些要点 嵌入式开发中C语言编程的一些要点
在嵌入式Linux的C语言开发中,C语言的基本编程依然是最重要的内容。除此之外,与一般的C语言编程相比,嵌入式Linux的C语言编程有以下一些要点: 1、库函数与系统调用在进行C语言编程的时候,使用库函数是不可避免的。关于使用库函数的最简
【工具】分享一个好用LCD模拟器! 【工具】分享一个好用LCD模拟器!
LCD模拟器在我们嵌入式开发中,有时候有些调试环境、流程比较复杂/繁杂。比如有些bug需要跑很长的一段流程才可以复现,这时候如果按照正常的流程来调试,单单是复现问题估计都需要话不少时间。这时候应该要多思考需要怎么去模拟一个相同的
2021-07-17
【Linux】如何远程登录开发板? 【Linux】如何远程登录开发板?
在公司里,一些开发环境(网络环境、远程登录环境等)都是由系统工程师搭建好的,我们只管用就可以。但是自己业余玩玩还是得自己动手折腾折腾,这两天我也为自己的板子搭建了一下网络环境、远程登录环境等,整个过程中遇到很多坑。从驱动移植、内核编译,再
2021-06-24
【Linux】搭建一个嵌入式web服务器 【Linux】搭建一个嵌入式web服务器
之前分享的文章::常见的嵌入式web服务器有哪些?中提到了几种可以在嵌入式中使用的web服务器。 嵌入式 web 服务器就是把 web 服务器移植到嵌入式系统的服务器。它仍然是基于http文本协议进行通信的,具有标准的接口形式,对客户端来
2021-06-24
【工具】Valgrind仿真调试工具的使用 【工具】Valgrind仿真调试工具的使用
Valgrind简介Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。 Valgrind工具包包含多个工具,如Memcheck、Cachegrind、Helgrind、Callgrind、Massif。
2021-06-24
【Linux】关于设备的时间问题 【Linux】关于设备的时间问题
大家好,我是杂烩君。 写国际化的程序比较难处理的两个问题可能是: 时间问题 、 编码问题 。 本篇文章来聊一聊时间问题。 最近设备到了国外,时间不准了~ 杂烩君一直在东八区写代码,处理时间问题时,习惯性的把时区写死为东八区,即设备的小时数
2021-06-20
【Linux】TCP常用应用接口使用封装 【Linux】TCP常用应用接口使用封装
大家好,我是LinuxZn。 之前我们的文章中也有分享TCP相关的过程,一个TCP通信的框图如: 这个图中也列出了常用的几个接口函数,其中,有几个函数调用时传参比较繁琐,为了提高我们的编码效率,有必要对这些接口的使用进一步地封装,使得函
2021-06-18
【经验篇】分享一种有趣的数据解析方法 【经验篇】分享一种有趣的数据解析方法
本篇笔记是一篇开发小结,总结GPS数据的接收、解析示例,以实例为基础分享一些思考过程: GPS数据协议常用的GPS模块大多采用NMEA-0183 协议,目前业已成了GPS导航设备统一的RTCM(Radio Technical Commis
2021-06-10
5 / 14