ARM嵌入式
bug叔
这个作者很懒,什么都没留下…
展开
-
交叉编译下裸机程序的编译生成
Linux下的二进制可执行文件。如果世界很简单,那么二进制可执行文件也应该很简单,只包括CPU要执行的指令就可以了。可惜,世界并不简单……。Linux下的二进制可执行文件(以下简称可执行文件),也并不是只包括了指令,还包括了很多其他的信息,比如,执行需要的数据,重定位信息,调试信息,动态链接信息,等等。 所有这些信息都按照一个预定的格式组织在一个可执行文件里面。Linux下叫ELF可执行文件...转载 2019-02-05 19:24:16 · 1008 阅读 · 0 评论 -
(五)网络编程
linux网络基础:网络编程基础网络地址:struct sockaddr{ u_short sa_family; char sa_data[14];}sa_family: 协议族,采用AF_XXX的形式,如:AF_INET(IP协议族)sa_data: 14字节的特定协议地址地址结构:struct sockaddr_in{ sho...原创 2019-02-25 09:36:24 · 120 阅读 · 0 评论 -
(四)线程
线程线程:创建线程:相关头文件:#include<pthread.h>函数:int pthread_create(pthread_t* tidp,const pathread_attr_t *attr,void *(*start_rtn)(void),void *arg)tidp:线程idattr:线程属性(通常为空)start_rtn: 线程要执行的函数...原创 2019-02-25 09:35:11 · 140 阅读 · 0 评论 -
(三)进程基本原理和概念
进程基本原理和概念进程:进程ID:标识进程的唯一数字父进程的ID(PPID),启动进程的用户ID(UID)进程互斥:若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用必须 等待,直到占用资源被释放。临界资源:操作系统中将一次只允许一个进程访问的资源称为临界资源。临界区:进程中访问临界资源的那段程序代码空间称为临界区。需要保证进程互赤的进入各自的临界区。进程同步...原创 2019-02-25 09:34:26 · 1123 阅读 · 0 评论 -
(二)Linux下GCC与Makefile
Ubuntu下GCC的使用gcc的基本使用:(以hello.c为例子)gcc [options] [filenames]gcc hello.c -o hello用于确定可执行文件的名称为output_filename,如果不给出这个选项,gcc就会默认给出预设的可执行文件a.out。gcc -o hello.c只是编译,不会链接成可执行文件,只是由.c文件生成.o的目标文...原创 2019-02-25 09:33:24 · 491 阅读 · 0 评论 -
(一)系统调用-文件访问
系统调用-文件访问linux下的文件编程:系统调用的方式C语言库函数方式- 系统调用方式 -- 系统调用的方式 -int creat(const char *filename,mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径下)mode: 创建模式 S_IRUSR = 可读 =》4 S_IWUSR = 可写 =》2 S_IX...原创 2019-02-25 09:31:01 · 317 阅读 · 0 评论 -
linux内核构建与编译
linux 内核开发基础linux的构成linux 由用户空间、内核空间两个部分来组成。linux 下体系结构、工作模式共有7种工作模式:用户模式(usr)快速中断(fiq)外部中断(irq)管理模式(svc)数据访问终止(abt)系统模式(sys)未定义指令异常(und)linux内核的构成Arch: arm架构(与cpu相关的内容...原创 2019-02-25 09:27:55 · 1218 阅读 · 0 评论 -
ubuntu下环境变量、快捷方式、脚本编程
一.ubuntu下桌面快捷方式> ubuntu下对于已经编译完成的软件,我们要建立快捷方式来启动程序,就需要我们编写一个文件>> 比如:xxx.desktop>> 该文件会被我们的Linux设备识别,并且被应用成快捷方式。xxx.desktop文件的基本格式[Desktop Entry] #标签开始,说明这是一个Desktop Entry文件,...原创 2019-02-13 20:59:23 · 1013 阅读 · 0 评论 -
搭建嵌入式ARM完整系统
## 系统构建概述对于移植到开发板上运行的linux系统,我们需要构建三个最基本的东西:引导程序bootloader;开发板运行机制内核文件系统;文件管理系统如下图,我们以mini2440的下载为参考: 由烧写软件界面可以看到,我们在完成一个完整系统的移植时需要的成分也是以上三个。第一是引导程序,第二是内核系统,第三是命令行,第四是文件系统;LINUX中bootloade...原创 2019-02-12 20:38:56 · 5512 阅读 · 0 评论 -
TP-link WN725N (Linux版本驱动安装)
TP-link WN725N V3Linux版本驱动安装arm开发板移植转载 2019-02-27 22:41:53 · 13084 阅读 · 0 评论 -
驱动程序学习
驱动模型驱动分类字符设备驱动网络设备驱动块设备驱动vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 字符设备字符设备是一种按照字节来访问的设备,字符设备则是负责驱动字符设备,这样的驱动通常实现open close read write 系统调用。 块设备在大部分的Unix系统,块设备不能按字节处理数据,只能一次...原创 2019-02-18 11:04:49 · 1435 阅读 · 0 评论 -
busybox-1.28.1制作根文件系统
1.源码下载Busybox的官方源码下载路径为:http://busybox.net/downloads/可以下载最新的busybox-1.28.12.解压源码tar xvf busybox-1.28.1.tar.bz23.进入源码目录cd busybox-1.28.14.配置busyboxBusybox官方已经对其做了大量的默认的配置(如一些常用的shell命令:ls ,c...转载 2019-02-12 19:18:14 · 620 阅读 · 0 评论 -
驱动开发(一)
概要:1、模块、外部编译2、字符设备框架(函数接口和结构体的关系)3、字符设备框架、platform框架4、设备树、led驱动、蜂鸣器驱动5、内核中断子系统,按键驱动,中断上下半部。6、adc驱动,内核的IO模型(阻塞、非阻塞、异步通知、多路复用)7、I2C总线驱动、I2C设备驱动8、输入子系统知识补充:追内核:make tags vi -t xxx一、什么是驱动?dri...转载 2019-02-16 12:03:50 · 343 阅读 · 0 评论 -
linux开发板自启动程序设置
arm开发板自启动设置两个目录/etc/init.d/rcS 文件是开机启动要运行的脚本/etc/rc.d/init.d/* 在这个文件夹下的所有脚本均为1目录对应启动软件的脚本启动软件的脚本在2目录,调用启动脚本在1目录的文件夹下配置。下面是rcS脚本#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/b...原创 2019-02-14 11:03:58 · 2071 阅读 · 1 评论