嵌入式系统移植
文章平均质量分 82
andylauren
嵌入式爱好者
展开
-
glib-2.78.0交叉编译
如果你是编译2.6之前的版本,需要使用configure进行编译配置,对于依赖的库需要自己进行源码下载和交叉编译,编译glib依赖libffi、zlib、以及libpcre,也就是在编译glib之前需要交叉编译libffi、zlib、以及libpcre。此时你就拥有了meson,现在已经可以进行编译,但是如果直接敲meson会调用Ubuntu安装的meson,python下载的meson在~/.local/bin/meson目录下,你或者直接把这个替换系统的,或者编译时敲全路径。原创 2023-10-27 09:53:05 · 1055 阅读 · 0 评论 -
Diagnostic Log and Trace——DLT 离线日志存储
doc/dlt_offline_logstorage.md · RTplay/dlt-daemon - Gitee.comDLT离线日志存储介绍Logstorage 是一种将 DLT 日志存储在目标系统或连接到目标的外部设备(例如 U 盘)上的机制。它可以被视为对已经是 DLT 一部分的离线跟踪功能的改进。配置一般配置在 dlt.conf 中完成。存在以下配置选项:#############################################################原创 2021-11-03 15:22:44 · 5804 阅读 · 4 评论 -
Diagnostic Log and Trace——为应用程序和上下文设置日志级别的方法
上一篇最后说道默认打印级别是info,这一篇我们就来讲解如何修改这个打印级别。dlt-daemon 设置初始应用程序日志级别有一个配置参数(参见 /etc/dlt.conf)ContextLogLevel。当新应用程序在守护程序中注册自己时,守护程序会将应用程序的日志级别设置为参数定义的值。当应用程序使用 DLT_REGISTER_CONTEXT() 或 dlt_register_context() 注册自己时会发生这种情况。环境变量 DLT_INITIAL_LOG_LEVEL有一个名为原创 2021-11-03 13:58:48 · 1287 阅读 · 0 评论 -
Diagnostic Log and Trace——开发人员如何使用 DLT
DLT 示例应用要在应用程序中使用 DLT,它必须链接到 DLT 库。在系统上安装 DLT 守护程序后,将有一个名为 libdlt.so 的共享库,它为应用程序提供接口以获取与 DLT 守护程序的连接。在使用共享 dlt 库构建程序之前,必须在构建环境中设置库路径和包含路径。默认情况下,头文件“dlt.h”位于标准包含目录中名为“dlt/”的目录中。此示例通过使用最少的代码示例概述了应用程序内部的 DLT 使用情况。#include <dlt/dlt.h>DLT_DECLARE原创 2021-11-03 13:50:07 · 5691 阅读 · 7 评论 -
Diagnostic Log and Trace——dlt的编译和安装
概述GENIVI DLT 提供日志和跟踪接口,基于 AUTOSAR 标准 4.0 DLT 中指定的标准化协议。它被其他 GENIVI 组件使用,但可以作为其他应用程序的日志框架,与 GENIVI 无关。最重要的术语和部分如下图所示。有关 DLT 特定术语的完整概述,请参阅词汇表。简单来说就是一个很好用的应用日志服务,这个服务支持图形化绿色软件DLT-Viewer,需要网络支持,可以存储离线日志,体积十分小巧,灵活的配置管理方式。源码开源网址:GitHub - COVESA/dlt-da.原创 2021-11-03 13:04:25 · 5160 阅读 · 0 评论 -
php与linux程序的消息队列通信
概述最近正在设计一些关于PHP与linux程序进行通信的工作,首先php和linux程序一般是不会运行在一个进程里,这样如果需要通信只能是跨进程实现。这里可以使用两种方法,一种是用c语言分别实现通信接口,然后将其中一种编译成php扩展,让php调用,这类自由度比较高,但是有一定难度。还有一种就是直接使用php支持的ipc接口,与其他进程通信。今天我们来研究一下php使用现有的IPC与其...原创 2020-02-27 14:07:24 · 502 阅读 · 0 评论 -
php扩展php-nano的安装与测试
官网https://nanomsg.org/源码下载https://github.com/mkoppanen/php-nano提前准备你需要已经安装了nanomsg的库,php,和pkg-config,可能还有其他需要的东西,但是我没有遇到,遇到的问题可以留言讨论。nanomsg库的安装方法可以查看另一篇文章https://blog.csdn.net/andylaure...原创 2020-02-26 14:53:07 · 606 阅读 · 0 评论 -
ini文件解析c代码
非常感谢taoyuanmin,该篇文章的源码就是从taoyuanmin获得的,感觉代码实现的非常好。blog原文:https://bbs.csdn.net/topics/391842320源码下载:https://download.csdn.net/download/taoyuanmin/9179573我的源码文件下载:https://download.csdn.net/downloa...原创 2018-09-16 17:40:49 · 2227 阅读 · 0 评论 -
nxjson编译与测试
官网https://bitbucket.org/yarosla/nxjson源码下载https://bitbucket.org/yarosla/nxjson/src我使用的版本yarosla-nxjson-afaf7f999a95.zip下载地址:https://download.csdn.net/download/andylauren/10669594编译源码1、...原创 2018-09-16 17:28:16 · 701 阅读 · 0 评论 -
libxml2编译与测试
官网http://xmlsoft.org/源码下载http://xmlsoft.org/sources/我使用的版本libxml2-2.9.8.tar.gz下载地址:https://download.csdn.net/download/andylauren/10669589编译源码1、解压源码包rt@ubuntu:~/xml2$ tar xvf libxml2-2...原创 2018-09-16 17:16:30 · 3951 阅读 · 0 评论 -
iconv的arm交叉编译
我在使用iconv函数时出现一些问题,就是在pc上测试是好用的,但是编译到arm板子上转换出来的字符就是空。在网上查找结果应该是交叉编译链中的libc库有些问题,所以就想到解决的方法第一种方法更新libc库比较麻烦,因为我们用的是编译好的交叉编译器,这中方法需要重新编译生成交叉编译器,并且也需要使用新编译生成的交叉编译工具重新编译应用程序,因此本方法代价太大,采用第二种方法。第原创 2017-12-30 15:03:22 · 5745 阅读 · 8 评论 -
环形队列c语言代码
这段代码实现了一个环形队列,数据类型可以根据自己的需要更改,这里预留的是指针类型。ring_queue.h#ifndef _RINGQUEUE_#define _RINGQUEUE_#include <stdbool.h>#include <stdio.h>#include <string.h>// 队列包含的信息typedef str...原创 2018-09-23 15:36:20 · 4317 阅读 · 0 评论 -
cjson编译与测试
1、下载源码https://github.com/DaveGamble/cJSON我下载的是1.7.0版本2、解压到某个目录3、编译因为cjson只有4个文件,所以没有给出复杂的config文件,不需要进行配置,但是如果需要对代码进行详细的测试功能需要使用cmake来完成,这里我只做编译库的工作,所以cmake部分不做,这部分在readme中有详细的讲解。make al原创 2018-01-04 22:00:07 · 8491 阅读 · 0 评论 -
线程消息队列代码
blog原文地址:https://www.cnblogs.com/lijingcheng/p/4454876.html代码下载地址:https://download.csdn.net/download/andylauren/10669667所谓线程消息队列,就是一个普通的循环队列加上“多生产者-单(多)消费者的存/取操作”。流水线方式中的线程是单消费者,线程池方式中的线程是多消费者。测...原创 2018-09-16 19:20:54 · 733 阅读 · 0 评论 -
守护进程简单模板
写一个简单的守护进程,原理就是调用glibc库函数daemon,创建daemon守护进程。然后如果守护的进程异常终止测5s后重启,如果守护进程被终止就没有办法了,所以建议不要在守护进程中过于复杂的逻辑,当然也可以将守护进程作为服务,后面会补充服务程序的添加方法。daemon.c#include <stdio.h>#include <string.h>#in...原创 2018-09-16 19:45:56 · 341 阅读 · 0 评论 -
nanomsg编译与测试
官网https://nanomsg.org/源码下载https://github.com/nanomsg/nanomsg/releases我使用的版本nanomsg-1.1.4.tar.gz下载地址:https://download.csdn.net/download/andylauren/10682975编译源码1、解压源码包rt@ubuntu:~/nano$...原创 2018-09-23 15:26:31 · 2442 阅读 · 0 评论 -
yaml编译与测试
yaml官网http://yaml.org/yaml下载官网http://pyyaml.org/wiki/LibYAML下载网址http://pyyaml.org/download/libyaml在我写这篇文章的时候这个网站已经无法访问了,不清楚是什么原因,我最后得到的版本是yaml-0.1.7.tar.gz源码下载地址https://download.csdn.n...原创 2018-09-22 20:36:58 · 4366 阅读 · 2 评论 -
libcyaml编译与测试
官网http://yaml.org/源码下载https://github.com/tlsa/libcyaml我使用的版本libcyaml-master.zip下载地址:https://download.csdn.net/download/andylauren/10682901这个库需要依赖python 的yaml库,所以需要先安装yaml库,安装方法见下文连接http...原创 2018-09-22 21:25:44 · 1150 阅读 · 0 评论 -
libmodbus编译与测试
官网http://libmodbus.org/源码下载http://libmodbus.org/download/我使用的版本libmodbus-3.1.4.tar.gz下载地址:https://download.csdn.net/download/durongze/9667223编译源码1、解压源码包rt@ubuntu:~/modbus$ tar xvf li...原创 2018-09-22 22:46:24 · 2916 阅读 · 0 评论 -
基于FS4412嵌入式系统移植(7) sqlite3交叉编译与移植
这节我们来分享一下sqlite3的交叉编译和移植过程。先来简单介绍一下sqlite3.SQLite3是一个非常强大的小型开源数据库软件,特别嵌入到一些软件中存储数据,当然,移植到嵌入式系统上也是非常有必要的。众所周知的Symbian,Android, IOS这几大移动平台都是使用的sqlite作数据存储,使用SQLite的厂商包括Adobe, Airbus, Apple, Dropbox,原创 2016-05-22 20:31:26 · 2591 阅读 · 0 评论 -
json-c的编译与测试
1、下载源码JSON下载地址:https://github.com/json-c/json-c/wikihttps://s3.amazonaws.com/json-c_releases/releases/index.html我下载的是最新版的json-c-0.13.tar.gz2、找个地方将源码包解压3、配置./configure --prefix=/home/linu原创 2018-01-04 21:26:02 · 4310 阅读 · 0 评论 -
curl编译以及arm交叉编译
虚拟机环境ubuntu12.04开发板EasyARM-i.MX280A: 64m sdram 128M nandflash 运行官方提供的Linux-2.6.35.3内核linux首先,如果需要使用curl解析https需要先编译openssl库,编译这个库可以参考http://blog.csdn.net/andylauren/article/details/53原创 2017-12-16 21:14:53 · 15041 阅读 · 0 评论 -
嵌入式linux自动更新网络时间NTP移植
有些嵌入式设备中为了节省成本或者体积原因都没有配备掉电保存电池,每次上电之后就需要人为手动的更新系统时间,而且系统时间也不准确。有些需要得到实时的比较准确的时间,以和服务器或是设备之间进行时间同步,但是很多嵌入式设备又不能通过人工设置时间的方式来同步时间,需要自动从网络上获取时间,这就需要用到NTP。NTP是网络时间协议(Network Time Protocol)的简称,它是用来同步网络中各个计原创 2016-12-05 22:50:20 · 4653 阅读 · 1 评论 -
从零开始移植QT4.8.5之四--交叉编译QT程序并运行在OK6410上
首先我们需要自己写一个代码,什么 代码都行,拿来别人的也可以。可以在windows或者linux上写都行,我个人的习惯是在windows下面编辑代码,查看运行效果,效果没问题了在拿到linux下进行交叉编译。下面我们现在windows下写一个最简单的例子:你好世界!这个例子中会使用到中文和按钮切换标签的内容。如何创建工程这里就不细讲了,书上和网上有很多教程,按照步骤去做就好。代码很原创 2016-07-23 10:44:03 · 6485 阅读 · 1 评论 -
从零开始移植QT4.8.5之三--linux下交叉编译QT运行库
这篇文章要实现的目标是在linux下交叉编译QT在嵌入式设备OK6410的运行库,最终在OK6410上运行QT演示程序。1、触摸屏库文件安装tslib首先如果嵌入式设备上有触摸屏,需要先移植tslib,这个不是本次的重点,所以我们就直接搭建编译的时候需要的tslib库,因为飞凌官方已经提供编译好了的库文件,所以之需要解压把库文件放到对应的位置就可以了。编译好的tslib文件下载:htt原创 2016-07-22 23:22:15 · 8883 阅读 · 4 评论 -
从零开始移植QT4.8.5之二--在linux下安装QT
这一篇文章介绍如何在linux下安装QT软件,并配置环境,使其能够运行QT程序。事先说一下软件安装环境,使用的虚拟机下运行ubuntu12.04版本下面开始讲解1、安装准备纯净版的Ubuntu没有g++需要先安装sudo apt-get install g++需安装3个包sudo apt-get install libX11-dev libXext-dev libXts原创 2016-07-22 22:19:59 · 12457 阅读 · 5 评论 -
从零开始移植QT4.8.5之一--在windows下安装QT
本文将会讲解QT的安装,不会涉及QT的使用,会从windows安装,linux下安装,然后讲解嵌入式的交叉编译,最终会在OK6410开发板上运行QT的演示程序。下面老生常谈,QT简要介绍Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对原创 2016-07-22 19:39:29 · 8369 阅读 · 1 评论 -
基于FS4412嵌入式系统移植(5) 内核移植
这一节中我们进行内核的移植,在课上同样是按照实验手册进行试验,同样不知道是为什么要那么做,所以这里就不细讲了。实验手册中有一些错误,我自己改过来上传共同学们参考。实验手册修正版下载地址:FS4412系统移植实验手册-内核移植实验中使用的内核版本是3.14.0,因为我的上传限制是70M,所以内核没办法上传。这里提供官方地址自行下载吧:https://www.kernel.org/在实验中还有原创 2016-05-21 23:38:26 · 1709 阅读 · 0 评论 -
基于FS4412嵌入式系统移植(4) u-boot移植与指令添加
这一节我们进行uboot的移植。移植的版本是u-boot-2013.01,在上课的时候老师主要带着分析了一下uboot的启动流程,而没有重点说uboot移植中进行修改的内容,修改也仅仅是按照实验手册进行,绝大多数的修改完全不知道为什么,而且实验手册上还有一些错误,如果不知道修改的原因一旦出现错误完全不知道从何下手。这里我把移植时需要的文件和我更改过的文档上传共同学们使用,我修改的文档主要是原创 2016-05-21 17:20:11 · 1438 阅读 · 0 评论 -
基于FS4412嵌入式系统移植(3) eMMC加载系统启动linux体验
上一节中体验了一下如何通过tftp加载内核和设备树,并挂载nfs文件系统启动linux,这样的方法很时候调试阶段,可以把需要的执行的代码或者镜像文件放在虚拟机上就可以了,不需要每次都烧写到开发板中。但是在开发完成后不可能一直在使用一台电脑来给开发板加载系统使用,所以今天我们就学习一下如何将系统文件烧写到eMMC中,并让开发板上电后从eMMC中加载系统文件。这一节中的内容相比与上一节就要少很多:原创 2016-05-19 21:06:48 · 3919 阅读 · 3 评论 -
基于FS4412嵌入式系统移植(2) NFS文件系统启动linux体验
这一节目标有两个:1、将uboot拷贝到emmc中,并在emmc中启动uboot2、调试tftp,能够通过uboot使用tftp从linux的tftp共享文件夹中拷贝数据到开发板内存中。3、设置uboot启动配置,达到能够从服务器中加载内核和设备树,并挂载nfs文件系统。1、将uboot拷贝到emmc中连接串口和板子,运行串口通信程序,这里如何配置就不在多讲了。原创 2016-05-19 00:09:56 · 6268 阅读 · 0 评论 -
Busybox 登陆后如何设置是否需要用户名和密码进入文件系统
多多少少玩了几个开发板,发现一个很有意思的现象,有的在登陆文件系统时直接进入,有的则需要输入账号,有的则要输入账号和密码。在学校学习的时候在制作根文件系统时就是按照步骤去做,大概了解了一下每个文件里面的内容,好像没有出现是否设置登陆方式的地方。于是就将几个开发板的根文件系统内容作了对比,发现了一些蹊跷,和大家分享一下。首先,涉及到登陆的方式,一定是在文件系统初始化的时候,所以先定位到/原创 2016-07-23 21:11:24 · 6898 阅读 · 0 评论 -
基于FS4412嵌入式系统移植(8) linux内核调试之printk
以下内容主要摘录自《Linux安全体系分析与编程》1、基本原理(1)在UBOOT里设置console=ttySAC0或者console=tty1这里是设置控制终端,tySAC0 表示串口, tty1 表示lcd(2)内核用printk打印内核就会根据命令行参数来找到对应的硬件操作函数,并将信息通过对应的硬件终端打印出来!2、printk及控制台的日志级别函数原创 2016-05-26 08:59:32 · 2809 阅读 · 2 评论 -
openssl动态库生成以及交叉编译
虚拟机环境ubuntu12.04开发板EasyARM-i.MX280A: 64m sdram 128M nandflash 运行官方提供的Linux-2.6.35.3内核linux首先说一下如何在主机上进行编译,并生成动态库在https://www.openssl.org/source/下载最新版的openssl,我下载的是 openssl-1原创 2016-12-04 21:55:33 · 23183 阅读 · 3 评论 -
USB WIFI 腾达811M无线网卡 -RT5370移植
自己挖的坑,哭着也要填平!!!软件环境:虚拟机ubuntu12.04硬件环境:腾达811M无线网卡 OK6410: 512m sdram 2g nandflash 运行官方提供的3.0.1内核linux wpa_supplicant版本0.7.3(官方内核自带)RT5370驱动下载: 先说一下为什么我要移植RT537原创 2016-07-21 09:23:01 · 3704 阅读 · 0 评论 -
U_boot 的 bootcmd 和bootargs参数详解
转自 :http://linux.chinaunix.net/bbs/archiver/tid-1111568.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。1)bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种转载 2016-08-14 13:34:32 · 2184 阅读 · 0 评论 -
基于FS4412嵌入式系统移植(6) glib库的交叉编译与移植
今天和大家分享一下glib库的交叉编译过程和如何对程序进行编译以及运行。glib库的移植资料比较少,比较零散,这里我就写一下亲自移植的过程,和大家分享一下。按照我的过程移植应该是不会有问题,如果遇到了问题可以留言联系我,一起讨论研究。这里需要强调一下:libc、glibc、glib是不同的库!glibc和 libc 都是 Linux 下的 C 函数库,而glib是GTK+的基础原创 2016-05-22 09:30:06 · 4941 阅读 · 1 评论 -
360WIFI2无线网卡移植 -MT7601U移植
软件环境:虚拟机ubuntu12.04硬件环境:360WIFI2无线网卡 EasyARM-i.MX280A: 64m sdram 128M nandflash 运行官方提供的Linux-2.6.35.3内核linux wpa_supplicant版本0.7.3(官方内核自带)MT7601U驱动下载:http://download.csdn.net/det原创 2016-07-25 22:47:43 · 9384 阅读 · 6 评论 -
wpa_supplicant移植与使用
上一篇文章讲述了如何在内核中配置RT5370驱动,配置完了之后便是使用。当无线网络是 WPA/WPA2 加密方式时,WIFI 客户端也需要用此加密方式才能连接上网络。连接WPA/WPA2 加密网络方法是修改无线网络配置文件后直接连接网络。要连接WPA/WPA2 加密方式的路由需要使用wpa_supplicant工具,需要对它进行移植。先说一下软件环境:上位机:虚拟机中使用ubuntu1原创 2016-08-08 22:21:17 · 8288 阅读 · 0 评论 -
手把手教你如何配置内核---举例添加RT5370驱动
之前写过一个关于在2.6内核上移植RT5370的驱动,http://blog.csdn.net/andylauren/article/details/51972072使用的是无线网卡官方提供的驱动,然后据说在3.0.1内核版本之后已经提供了RT5370网卡的支持,然后经过一系列的配置学习终于将RT5370驱动配置进入内核,并在该内核下运行起了无线网卡,具体过程将在下一篇文章中详细介绍。在配原创 2016-08-08 16:51:36 · 4293 阅读 · 0 评论