残留的linux相关笔记
1. 设置网络环境
1) 设置宿主机网络环境
#ifconfig eth1 192.168.16.111
2) 设置开发板网络环境
>pri
>setenv ipaddr 192.168.16.233
>setenv serverip 192.168.16.111
>setenv gatewayip 192.168.16.1
>ping 192.168.16.111
>saveenv
2. 通过TFTP下载文件
>tftp 0x40000000 aaa.txt
3. 通过tftp烧写自己的u-boot
1) 下载文件到开发板
#cp u-boot.bin /tftpboot/ 将编译好的u-boot放在宿主机tftp服务器目录
>tftp 0x40000000 u-boot.bin 下载u-boot到目标机
2) 用u-boot命令烧写Flash(先擦、再写)
>nand erase 0x0 0x60000 擦除flash,从0地址擦0x60000大小
>nand write 0x40000000 0x0 0x60000 将内存0x40000000地址处的文件写到Flash的0x0地址,写0x60000大小。
4. 加载内核
1) 生产uImage
arch/arm/boot/zImage 内核原版
制作u-boot引导的内核 uImage, u-boot/mkimage -> zImage -> uImage
#拷贝已编译过的u-boot/tools/mkimage 到/usr/bin
#在内核源码目录下执行make uImage
2) 安装内核
#cp arch/arm/boot/uImage /tftpboot
TFTP 下载内核映像 uImage 到 DRAM 1 的起始地址 0x40000000:
>tftp 0x40000000 uImage
启动内核
>bootm
3) 固化内核
>tftp 0x40000000 uImage
>nand erase 0x600000 0x500000
>nand write 0x40000000 0x600000 0x500000
u-boot启动参数
>setenv bootcmd 'nand read 0x40000000 0x600000 0x500000; bootm 0x40000000'
5. 挂载文件系统
1) 搭建NFS服务器,参见《开发环境搭建 2.3节》
2) 重启NFS服务器
service portmap restart
/etc/init.d/nfs-kernel-server restart
6. 配置开发板启动参数
1) 设置u-boot启动命令
>setenv bootcmd tftp 40000000 uImage\; bootm\;
2) 设置内核启动参数,以NFS方式远程挂载宿主机上的根文件系统
>setenv bootargs 'console=ttySAC0,115200 root=/dev/nfs rw nfsroot=192.168.1.130:/nfs/mini_rootfs ip=192.168.16.200:192.168.1.130:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc'
-----------------------------------------
设置内核io的接口:
设置GPIO的方向,如果是输出同时设置电平:
gpio_direction_input(S5PV210_GPJ2(0));
gpio_direction_output(S5PV210_GPJ2(0), 0);
获取输入引脚的电平:
gpio_set_value(S5PV210_GPJ2(0), data);
gpio_get_value(S5PV210_GPJ2(0));
二 内核中gpio的使用
1 测试gpio端口是否合法 int gpio_is_valid(int number);
2 申请某个gpio端口当然在申请之前需要显示的配置该gpio端口的pinmux
int gpio_request(unsigned gpio, const char *label)
3 标记gpio的使用方向包括输入还是输出
/*成功返回零失败返回负的错误值*/
int gpio_direction_input(unsigned gpio);
int gpio_direction_output(unsigned gpio, int value);
4 获得gpio引脚的值和设置gpio引脚的值(对于输出)
int gpio_get_value(unsigned gpio);
void gpio_set_value(unsigned gpio, int value);
5 gpio当作中断口使用
int gpio_to_irq(unsigned gpio);
返回的值即中断编号可以传给request_irq()和free_irq()
内核通过调用该函数将gpio端口转换为中断,在用户空间也有类似方法
6 导出gpio端口到用户空间
int gpio_export(unsigned gpio, bool direction_may_change);
内核可以对已经被gpio_request()申请的gpio端口的导出进行明确的管理,
参数direction_may_change表示用户程序是否允许修改gpio的方向,假如可以
则参数direction_may_change为真
/* 撤销GPIO的导出 */
void gpio_unexport();
残留的linux相关笔记的更多相关文章
- Linux相关笔记
vim下 r /etc/hosts 会把这个文件读进来 r! df -Th 会把执行的内容读取进来 查找 / ? 替换:s/old/new/g 2到9行替换2,9s/old/new/g 全部替换 ...
- Linux实战教学笔记19:Linux相关网络知识梳理
第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- linux学习笔记2-linux的常用命令
第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...
- Linux学习笔记(一)2015.4.13
研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 【转载】linux内核笔记之进程地址空间
原文:linux内核笔记之进程地址空间 进程的地址空间由允许进程使用的全部线性地址组成,在32位系统中为0~3GB,每个进程看到的线性地址集合是不同的. 内核通过线性区的资源(数据结构)来表示线性地址 ...
- 20160127 linux 学习笔记
Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
随机推荐
- iOS实现头像选取(照相或者图片库)、大小等比缩放、生成圆形头像
//弹出actionsheet.选择获取头像的方式 //从相册获取图片 -(void)takePictureClick:(UIButton *)sender { // /*注:使用,需要实现以下协议: ...
- Python用户交互以及数据类型
一.用户交互与格式化输出 1.用户交互 1.1什么是用户交互 程序等待用户输入的数据,程序执行完毕后为用户反馈信息. 1.2为何程序要与用户交互 为了让计算机像人类一样与用户交互 1.3使用方式 在p ...
- tomcat下部署项目的流程和遇到的问题笔记
简单部署流程: 1,解析域名关联到服务器ip 2,配置服务器jre运行环境 3,安装tomcat 4,项目打war包,放入tomcat根目录下webapps(tomcat默认加载的项目目录)目录下 5 ...
- 从PeopleEditor控件中取出多用户并更新到列表
如果一个列表中有一个字段类型为用户或用户组,并且设置为用户,允许多值的话,那么用代码进行更新的时候就必须将这个字段的值赋成SPFieldUserValueCollection类型,以下代码即为从Peo ...
- python3绘图示例1(基于matplotlib)
#!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport ...
- C#WinFrom写的拼图游戏
1.窗口载入时自动生成拼图按钮 ;//按钮的行.列数 Button[,] buttons = new Button[N, N];//按钮的数组 ;//记录步数 private void Form3_L ...
- MySQL入门很简单: 14MySQL日志
二进制日志: 以二进制文件的形式记录了数据库中的操作,但不记录查询语句 错误日志: 记录MySQL服务器的启动,关闭和运行错误等信息 通用查询日志: 记录用户登录和记录查询的信息 慢查询日志: 记录执 ...
- Fiddler-1 官网下载及安装
1 进入Fiddler官网:http://www.telerik.com/fiddler 点击[Free download]:填写一些信息后就可以下载. 2 双击安装包--下一步dinghanhua下 ...
- UVA-674 Coin Change---完全背包
题目链接: https://vjudge.net/problem/UVA-674 题目大意: 有5种硬币, 面值分别为1.5.10.25.50,现在给出金额,问可以用多少种方式组成该面值. 思路: 每 ...
- 阿里云主机ss
https://promotion.aliyun.com/ntms/act/vm/aliyun-group/buy.html?group=HdcwGIaf6i