- 博客(26)
- 资源 (229)
- 问答 (2)
- 收藏
- 关注
转载 Ubuntu 16.04 VSFTP服务器搭建
1.更新源列表 打开”终端窗口”,输入”sudo apt-get update”–>回车–>”输入当前登录用户的管理员密码”–>回车,就可以了。如果不运行该命令,直接安装vsftpd,会出现”有 几个软件包无法下载,您可以运行apt-get update——”的错误提示,导致无法安装 2.安装vsftpd 打开”终端窗口”,输入”sudo apt-get install vsftpd”–>回车
2016-12-31 15:22:08 650
原创 Linux设备驱动第十天(mmap、linux内核分离(软硬分离)思想)
回顾: 1.linux内核如何管理内存 kmalloc kzmalloc __get_free_pages vmalloc vmalloc = 256M mem = 10M GFP_KERNEL GFP_ATOMIC2.1 linux内核地址映射的函数: ioremaplinux内核mmap机制: mmap映射内存必须是页面大小的整数倍!!day 11 am 1
2016-12-30 00:23:19 1613
原创 Linux设备驱动第九天(非阻塞、内存管理)
回顾: linux内核等待队列机制: 目的:让进程在内核空间进行休眠 为什么要休眠?进程不能直接在用户空间yuk
2016-12-29 11:21:35 611
原创 Linux设备驱动第八天(等待队列)
回顾: linux内核的并发和竞态: 概念: 并发:多个执行单元同时发生 竞态: 共享资源: 互斥访问: 临界区: 原子性: 内核执行路径:产生竞态的几种情况: 多核: 进程与线程 中断与进程 中断与中断linux内核避免竞态的方法: 中断屏蔽 原子操作 自旋锁 信号量:睡眠锁linux内核等待队列机制: 等待队列机制: 目的:就是让进程在内核
2016-12-27 18:27:11 498
原创 Linux设备驱动第七天(原子性:中断屏蔽、自旋锁、信号量)
回顾:linux内核底半部的工作队列 明确:linux内核底半部的机制有哪些? tasklet:tasklet对应的延后执行函数工作中断上下文中,并且tasklet本身也是基于软中断实现,所以不能进行休眠操作 工作队列:工作队列对应的延后执行函数工作在进程上下文中,所以可以进行休眠操作 软中断:对应的延后执行函数以不能以模块的形式实现,必须静态编译到内核中;并且要求延后执行函数具备可
2016-12-26 15:06:47 1020
原创 Linux设备驱动第六天(工作队列、定时器、延时)
回顾:linux内核混杂设备。 特点:主设备号由内核分配好,主设备号为10;内核通过次设备来区分各个混杂设备。 数据结构: struct miscdevice{ int minor;//MISC_DYNAMIC_MINON(内核分配) char *name;//设备文件名 struce file_operaionts *fops;//给混杂设备
2016-12-25 20:19:06 2153
原创 qt第三天
qq登陆框启动qtcreator:tarena$qtcreator1,新建项目->Qt控件项目->Qt GUI应用 2,输入项目名称、项目保存路径qt Creator版本的加法器:构建界面 在adder.h的头文件中添加槽函数#ifndef ADDER_H#define ADDER_H#include <QMainWindow>namespace Ui {class Adder;}
2016-12-24 10:55:42 495
原创 qt第二天
一、改变值的案例 QSlider 滑块类 void valueChanged(int val); QSpinBox 微调框类(相当于下拉选择) void setValue(int val); 槽函数如果不做连接,就相当于一个普通的函数 带参数的信号和槽
2016-12-21 23:54:46 652
原创 移植第五天(文件系统)
引导程序 Linux内核 文件系统文件系统里面包含了Linux系统能够运行所必需的应用程序,库等 /:根目录 bin:存放所有用户都可以使用的基本命令(应用程序) sbin:存放系统命令,只有管理员才能够使用。普通用户不直接使用,需要权限 usr:存放用户命令、文档等 dev:存放的是设备文件,设备文件是Linux系统特有的类型,linux系统中, 大部份的设备都是通过访问设备文件来实
2016-12-21 09:14:48 549
原创 qt第一天
引导程序 Linux内核 文件系统文件系统里面包含了Linux系统能够运行所必需的应用程序,库等 /:根目录 bin:存放所有用户都可以使用的基本命令(应用程序) sbin:存放系统命令,只有管理员才能够使用。普通用户不直接使用,需要权限 usr:存放用户命令、文档等 dev:存放的是设备文件,设备文件是Linux系统特有的类型,linux系统中, 大部份的设备都是通过访问设备文件来实
2016-12-20 14:35:21 603
原创 移植第四天(内核配置)
Linux配置 zImage 软硬可裁剪make configmake xconfgmake oldconfigmake menuconfigcd ..../linux-2.6.35.7ls -a.config :隐藏文件,一开始没有这个文件 menu config打开配置界面ctrl + ” - “:调小屏幕 ctrl + “+” + shift:调大屏幕
2016-12-19 22:34:00 495
原创 移植第三天(Linux内核)
引导程序 内核,启动后,安装(挂载)文件系统, 文件系统在bootdelay秒内 有键盘输入,进入命令模式 如果没有键盘输入,进入bootcmd环境变量启动变量bootcmd:操作系统自启动命令 tftp 0x20008000 zImage\;bootm 0x20008000 theKernel(0,2456,0x20000100); bootargs告诉Linux内
2016-12-18 09:27:06 641
原创 移植第二天
找到链接脚本:-T u-boot.lds 链接脚本 -Text 0xce300000 链接地址u-boot.lds OUTPUT_FROMAT(“elf32-littearm”,”elf32-littearm”,”elf32-littearm”);入口文件: cpu/s5pv210/start.S u-boot第一阶段: bl lowlevel_init.S文件 //定义在l
2016-12-16 14:41:16 523
原创 移植第一天
swi 1 在招行阶段,产生异常 1,SPSR = CPSR 2,修改CPSR 3,保存返回地址 4 ,PC = 0x8(异常向量表的入口)(虚拟地址) 0x0 -> 0x2000 0000 0x8 -> 0x2000 00085,执行异常程序 6,异常返回
2016-12-13 21:31:00 703
原创 ARM第十二天(中断处理)
中断处理流程: 中断源:硬件底板原理图能过查看硬件原理图,得知,key1,key2分别连接到CPU的GPH0_0和GPH0_1这两个管脚。GPH0: key1:外部中断0 ,EXT_INT[0],bit[3:0] = 1111 key2:外部中断1,EXT_INT[0],bit[7:4] = 1111禁止这两个管脚的内部上下拉电阻,bit[3:0] = 0000使能中断: 0:使能外部中断
2016-12-12 16:12:50 808
原创 arm第十一天(汇编与C混调、异常处理)
汇编程序与C程序混合调用在C语言中如何调用汇编语言实现的函数在C语言中如何使用汇编语言定义的变量汇编语言中如何调用C语言的函数汇编语言中如何调用C语言定义的变量在C语言中如何调用汇编语言实现的函数 例如用汇编比较两个字符串是否相等的函数的代码片段: .text .code32 .global my_strcmpmy_strcmp: ldrb r2,[r1
2016-12-11 18:08:43 2082
原创 arm第十天(汇编指令下)
加载、存储指令 加载指令:将数据从存储器中读取到寄存器 存储指令:将处理完毕后的数据存储到存储器这类指令实现了寄存器和存储器(内存)之间的数据交互 数据: 字和无符号字节 半字和有符号字节单寄存器 多寄存器单寄存器的加载指令:单寄存器的加载指令 LDR{cond} Rd,<地址模式> 功能:将指定地址单元中字(4个字节)数据读到Rd中; 4字节 = 32 byte
2016-12-08 20:54:58 930
原创 arm第九天(汇编之指令下)
ARM七种工作模式管理快速中断中断中止未定义系统 用户ARM运行状态ARM状态 arm指令 32bit 地址字对齐(整除4),最后两bit为0Thumb状态 thumb指令 16bit 半字对齐,最后1bit为0ARM寄存器 不同的状态,访问不同的寄存器 R0-R12 共用 R13(SP) 保存栈顶指针 R14(LR) 用来保存返回地址
2016-12-08 00:54:11 2237
原创 arm第八天(汇编指令之跳转指令)
ARM编程模型 ARM SVC:复位,执行SWI指令 快速中断FIQ:发生高优先级的中断 中断IRQ:发生低优先级的中断 中止:访问存储器发生非法情况 未定义:执行指令,不能识别 系统:与用户模式共用寄存器的特权模式 用户:多数应用程序与系统任务运行在模式2,工作模式的分类 异常/非异常: 异常:管理,快速中断,中断,中止,未定义 非异常:系统,用户 特权/非特权 特权:管理
2016-12-07 14:37:12 3872
原创 Android修改、设置锁屏密码
在实现锁屏功能的时候首先要获得管理员权限,然后通过用户授权,用户如果同意授权,则就可以修改或设置锁屏密码。具体方法如下:1,首先要新建一个DeviceAdminReceiver的子类import android.app.admin.DeviceAdminReceiver;public class AdminManageReceiver extends DeviceAdminRece
2016-12-07 11:07:29 6553
原创 arm第七天(Nand Flash下)
NFSTAT寄存器 当RnB信号由低电平跳变成高电平时,该bit位会被自动置1(硬件完成),表示Flash可以读,读NFDATA寄存器; 但量,此信号何时变为低电平?手动操作该bit位,使其清0。 有点特殊的是,如果将该bit清0,要向该bit写1. 此方法与以往有区别: 写 0 ,清0 写 1,置1 而该bit位: 写1,清0 自动,置
2016-12-06 10:03:55 585
原创 ARM第六天(Nand Flash 上)
1,什么是Nand fash? 存储设备,用于存储整个系统(引导程序、内核、文件系统),相当于PC中的硬盘。2,TPAD采用了什么Nand Flash 三星公司的K9K8G08U0B型号的Nand Flash。3,如何才能操作Nand Flash,主要是对它进行写操作,读操作,校验操作 需要阅读Nand flash的datasheet ,该手册会详细描述如何操作nand falsh的正确方法。
2016-12-05 16:41:44 1122
原创 ARM第五天(串口下)
ULCON0 设置数据格式 UCON0 设置接收发送模式(轮询)暂停信号,回环,时钟源 UFCON0 UMCON0 UBRDIV0 设置波特率1 UDIVSLOT0 设置波特率2 UTRSTAT0 状态寄存器 bit[1] bit[0] UTXH0 发送缓冲寄存器 URXH0 接民缓冲寄存器串口 TPAD PC 发送
2016-12-04 11:20:43 708
原创 ARM第四天(蜂鸣器下、串口)
蜂鸣器 buzzer.h#ifndef __BUZZER_H__#define __BUZZER_H__#define GPC0CON (*((volatile unsigned int*)0xE02000A0))#define GPC0DAT (*((volatile unsigned int*)0xE02000A4))#define GPC0PUD (*((volatile unsign
2016-12-03 22:23:59 1330
原创 ARM第三天(LED下、蜂鸣器上)
GPC1CON寄存器 0xE020_0080 确定GPC1_3的管脚为输出 当GPC1_3的管脚的功能确定了输出功能后,具体如何输出高电平? GPC1DAT寄存器 0xE020_0084 [4,0],五个管脚共用一个寄存器,一个寄存器占用一位什么是上、下拉电阻? CW210-Peripherial.pdf 上拉电阻: 如按键按下,则XEINT0管脚为低电平 如按键松开,则XEI
2016-12-03 08:11:19 1084
原创 arm第二天(环境搭建、LED上)
回顾 嵌入式系统: 以应用为中心,以计算机为基础,软硬可裁剪,系统对功能、可靠、成本、体积、以及功耗都有严格要求的计算机系统。 什么是嵌入式? 计算机技术和行业结合中,形成的产物; 嵌入式软件开发工程师 应用(行业),行业知识 计算机技术(软件开发)程序开发:PC机 运行平台:嵌入式硬件平台
2016-12-01 00:05:32 908
Android系统源代码情景分析(高清+目录)
2016-11-16
思考软件,创新设计 A段架构师的思考技术
2016-11-13
QT纯源码自定义QTableWidgetw分页
2020-09-21
mac cmake安装包
2020-07-20
最全的区块链文档
2018-01-11
ApkTool+auto-sign Android反编译打包+签名(反编译工具)
2017-03-27
苹果的远程通知需要收费吗?
2016-02-24
腾讯企业邮箱单点登陆
2015-01-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人