嵌入式linux

韦东山嵌入式Linux学习笔记03--如何搭建软件环境

笑着哭i 提交于 2019-12-04 11:38:38
1. 从网上下一个虚拟机,比如vmvare station 2.下一个ubuntu镜像回来安装, 我下了14.04来安装.参考链接: https://blog.csdn.net/qq1326702940/article/details/82322079 3.如果ubuntu界面不能正常缩放,可以使用命令安装vm tools 第一行命令:sudo apt-get upgrate 第二行命令:sudo apt-get install open-vm-tools-desktop -y 第三行命令:sudo reboot 4.更新Ubuntu的软件更新源 sudo cp /etc/apt/source.list /etc/apt/source.list.bk sudo gedit /etc/apt/source.list 清空里面的内容,然后加入下面内容: # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties deb http://mirrors.aliyun

Linux 嵌入式驱动开发:移植I2C-EEPROM 驱动

折月煮酒 提交于 2019-12-04 09:54:38
1 在内核中配置I2C 驱动 Linux-2.6.32.2 对S2C2440 的I2C 接口提供了完善的驱动,因此我们只需在内核中配置一下即可使用。 在内核源代码目录执行:make menuconfig,进入内核配置主菜单,依次选择进入如下子菜单: Device Drivers ---> <*> I2C support ---> I2C Hardware Bus support ---> 如图,我们看到这里已经选择好了“<*> S3C2410 I2C Driver”,这里的S3C2410 也可以适用于S3C2440,因为它们的I2C 端口及寄存器定义都是完全相同的。 以上配置所对应的驱动源代码为:linux-2.6.32.2/drivers/i2c/busses/i2c-s3c2410.c 2 、I2C-EEPROM测试源码 gedit eeprog.c #include <stdio.h> #include <fcntl.h> #include <getopt.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include "24cXX.h" #define usage_if

韦东山嵌入式Linux学习笔记02--如何给开发板烧录程序

僤鯓⒐⒋嵵緔 提交于 2019-12-04 09:46:06
购买韦东山嵌入式开发板jz2440 v3会标配两根usb线和一根网线,OpenJtag需要单独购买, 我暂时还没买到该工具. 下面介绍usb烧录以及通过网线烧录程序. 1.usb烧录程序:   借助DNW工具通过usb线烧录程序到Nandflash.   操作步骤:     a. 开发板断电, ①处拨成从norflash启动, ②处接到电脑的usb口, 同时连接好开发板的串口, 然后开发板上电.     b. 上电之后在倒数结束后按空格件进入uboot, 可以看到uboot输出一个菜单,输入n,选择下载程序到nand      此时会看到串口输出Waiting a download字样,如果是第一次使用DNW,需要装驱动            DNW软件及驱动和安装方法如下:      链接:https://pan.baidu.com/s/1MUEg7p4N_1pdsr-PoRDm7A 提取码:vc2n      安装好驱动之后,打开DNW,选择transmit后找到想要传输的文件,然后开始传输文件          链接:https://pan.baidu.com/s/1f2i3whebBwgeQ6_qMPIiRQ 提取码:y8tr 可供测试的bin文件     烧录好之后,开发板断电, 将①处拨为从nandflash启动,便可以看到刚刚下载的程序的效果了; 2.

嵌入式web服务器BOA+CGI+HTML+MySQL项目实战——Linux

[亡魂溺海] 提交于 2019-12-03 20:51:45
准备环境 操作系统: Ubuntu12.04 LTS 环境搭建: 需要 BOA,Apache,CCGI,MySQL,GCC [ Linux下嵌入式Web服务器BOA和CGI编程开发 ] [ 数据库的相关知识——学习笔记 ] 的三 [ mysql中文乱码问题解决 / C程序插入仍是乱码解决 / 卸载重装教学 ] 扩展: 我还用了[ bootstrap ]框架,CSS/JS 源码链接:GitHub:[ 传送门 ] , 码云:[ 传送门 ] 使用方法 环境准备好后,我们在 /var/www 下写HTML文件 在 /var/www/cgi-bin 下写c文件,编译后命名为.cgi。 编译命令仅供参考 gcc -o login.cgi login.c cgic.c -lpthread -ldl -lmysqlclient 程序都写好后,我们开始测试。 1、开启MySQL服务 默认开启 我的程序需要事先 新建用户test,数据库register,表user mysql -utest -ptest // 创建新用户test mysql> create user 'test'@'localhost' identified by 'test'; // 给test用户所有权限 mysql> grant all privileges on *.* to test@localhost identified

对于嵌入式的一些认识

岁酱吖の 提交于 2019-12-03 06:57:23
一:什么是嵌入式? 在我看来嵌入式就是 在已有的硬件平台上去移植操作系统。 二:我们为什么要用嵌入式?(即嵌入式有什么优点) 嵌入式(优点):【1】: 软件的可移植性高。 【2】: 软件开发人员不需要懂硬件 。【3】: 操作系统提供了许多开源的软件,工具,库 。 【4】: 可以实现多任务(不同时) 。【5】 提供大量的网络协议,可以实现远程控制 三:嵌入式有什么局限?(即有什么缺点) 嵌入式(缺点): 基于移植的操作系统,硬件成本可能过大 。 四:嵌入式怎么分类? 就我个人看来它分为两类: 【1】上层: 应用软件开发: Linux C, Android, ios等,只跟 操作系统打交道*****更上一步需要懂内核 【2】底层:操作系统内部 做系统软件:BSP, 驱动,内核。*****需要懂硬件 例如:做摄像头,应用软件开发要调用open,做系统软件要实现open. 也可分为硬件子系统,软件子系统 软件的平台:操作系统 硬件的平台:cpu 五:嵌入式最大的特征什么? 就我个人认为,其最大的特征就是操作系统,嵌入式的优点就是基于操作系统的存在。 六:什么是操作系统? 嵌入式操作系统 (Embedded Operating System,简称:EOS)是指用于 嵌入式系统 的 操作系统 。嵌入式操作系统是一种用途广泛的 系统软件 ,通常包括与硬件相关的底层 驱动 软件、系统 内核

嵌入式V3s交叉编译 tslib和QT4.8.7,并使用Qt Creator编译项目

匿名 (未验证) 提交于 2019-12-03 00:40:02
本文主参考: http://zero.lichee.pro/%E5%BA%94%E7%94%A8/QT_index.html 环境 Ubuntu16 64位 arm-linux-gnueabihf version 6.3.1 20170109 (Linaro GCC 6.3-2017.02) (根据参考链接编译嵌入式版本Qt4.8.7时遇到诸多问题,特此记录) 1.交叉编译并安装 sudo apt- get install libtool automake autogen autoconf libsysfs- dev git clone https: // github.com/kergoth/tslib.git cd tslib echo " ac_cv_func_malloc_0_nonnull=yes " > tmp.cache . / autogen.sh . /configure --host=arm-linux-gnueabihf --cache-file=tmp.cache --prefix=/opt/tslib CC=arm-linux-gnueabihf- gcc make sudo make install 完成后会在Ubuntu系统/opt目录下出现tslib文件夹,将此文件夹拷贝置嵌入式系统相同目录下,配置嵌入式系统环境变量 vi /etc/profile

嵌入式学习笔记(一) --Ubuntu开发环境搭建

匿名 (未验证) 提交于 2019-12-03 00:30:01
我从这篇文章中找到了很好的答案: https://www.cnblogs.com/simonLiang/p/6111847.html 总结来说, Linux开源代码(关键是免费)并且可以任意裁剪内核,另外Linux是一个比较有名的一个操作系统,遇到什么问题的话在网上也能得到很好的解决。 看起来Linux和Windows差不多哦,都分有桌面版和命令行两个部分。不过在嵌入式开发中,命令行使用的会多,后续学习也主要是对终端命令的学习与操作。 在文件管理系统方面Lunix并不想Windows那样分成好几个盘符(A盘、B 盘 、C 盘 ...)。下面是Lunix的文件目录结构: 详情请参考: https://www.cnblogs.com/CoderJYF/p/6092604.html 目的 首先,我要选用Linux的版本是ubuntu-14.04.5 32bit版本,类似于windows版本(XP、win7、win8、win10......)。选用这个版本因为稳定对win7兼容更高些,另一个原因就是选择与教程相同的版本利于学习啦... 环境搭建中需要用到一些软件/文件,分别是 ubun tu-14.04.5-desktop-i386.iso 另外需要准备的文件 vimconfig.tar.bz2 VMwareTools-10.0.1-3160059.tar.gz 用来创建虚拟机

树莓派(4B)Linux + .Net Core嵌入式-HelloWorld(二)

匿名 (未验证) 提交于 2019-12-02 22:10:10
一、新建.Net Core项目 新建.Net Core3.0的控制台应用,代码如下 namespace Demo { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine(Environment.OSVersion); Console.WriteLine(Environment.Version); Console.ReadKey(); } } } 二、生成项目 项目已经写好后,右击项目发布 创建后,点击编辑 修改目标运行时,修改为linux-arm 点击保存后,点击发布,发布完成根据,目标位置寻找生成后的文件。 三、树莓派运行 根据上一章节说到的【 树莓派(4B)Linux + .Net Core嵌入式-初始化环境(一) 】,使用Xftp软件上传项目编译好的文件到树莓派机器中 在树莓派中建立Demo文件夹,把上图中Demo、Demo.dll、Demo.rentimeconfig.json上传到Demo文件夹中即可。 然后打开Xshell软件,cd进入到程度目录 cd Demo 可以分别输入以下命令执行即可运行(2种方法): 方法一:直接键入命令执行dll dotnet Demo.dll  方法二:执行Dome ./Dome 或者是

嵌入式Linux2038问题内核时间time_t跟踪笔记

匿名 (未验证) 提交于 2019-12-02 21:59:42
在Linux 2.6 内核是这样子 cd include grep -irn timer_t . ./ asm -generic/posix_types .h : 94 : typedef int __kernel_timer_t; ./ asm -generic/siginfo .h : 64 : __kernel_timer_t _tid; /* timer id */ ./linux/compat .h : 523 : timer_t __user *created_timer_id); ./linux/compat .h : 524 :asmlinkage long compat_sys_timer_settime(timer_t timer_id, int flags, ./linux/compat .h : 527 :asmlinkage long compat_sys_timer_gettime(timer_t timer_id, ./linux/types .h : 34 : typedef __kernel_timer_t timer_t; ./linux/syscalls .h : 308 : timer_t __user * created_timer_id); ./linux/syscalls .h : 309 :asmlinkage long sys

linux 嵌入式看门狗使用

匿名 (未验证) 提交于 2019-12-02 21:56:30
linux看门狗使用很简单,在应用层使用,只需要ioctl设置一下溢出时间,既可以使用看门狗,定时喂狗即可 前提是kernel支持看门狗 Device Drivers ―> 配置好好后,即可make 应用层的使用,直接上代码 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <pthread.h> #include <sys/ioctl.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/time.h> #include <unistd.h> #include <time.h> #include <getopt.h> #include <sys/signal.h> //watchdog #define WATCHDOG_IOCTL_BASE 'W' struct watchdog_info { unsigned int options; /* Options the card/driver supports */ unsigned int firmware_version; /* Firmware version