linux小记,arm烧写

百度文库“
一般情况下分几步:
1,板子上什么都没有要先烧写vivi bootloader。用他来引导内核文件的烧写,用并口烧写vivi(或者使用uboot )
2.之后烧写linux内核,也就是操作系统,用vivi使用串口就能烧写,
3烧写内核成功之后,系统会提示没有文件系统,所以要烧写文件系统cramfs文件,也用vivi烧写,也可以叫做烧写根目录
 
Hex文件和Bin文件的区别
1.Hex文件是16进制文件,里面是一文本形式表现的ascii碼,包含地址信息,而Bin文件格式就只包括了数据本身,在烧写或者下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址,而烧写BIn文件的时候,用户是一定需要指定地址信息的。
 
Erase擦除 Program 下载程序 verify 验证是否烧写成功
 
 
同步串行通信 有SPI    I2c总线    都是用于微处理器和IC之间的通信  
SPI是三根线的  数据输入  数据输出  和时钟线(同步通信专有的)  如AD  DA Fram 等等
 
I2c是两根线的  数据线(可发可收)   时钟线  
 
异步通信有SCI    两根线    数据输入  数据输出  无时钟线  用于 232  485  422芯片与cpu之间的通讯
 
gpio就是普通的i/o口    uart就是异步收发器 用于异步串行通信的  
 
can现场总线   是由两跟线组成的   canH  canL    速度比485快   可达到1Mb/s
cpu----can控制器(协议控制器 ,不提供物理驱动)----(光电隔离器)隔离电路----can收发器(又叫驱动器,提供物理驱动的)   
 
#define BSET(bit,  Register)    ((Register)|=(1<<(bit)))
//置Register的第bit位为1
#define BCLR(bit,  Register)    ((Register)&=~(1<<(bit)))
//清Register的第bit位为0
#define BGET(bit,  Register)    (((Register)>>(bit))&1)
//取Register的第Bit位状态
 
 
查看linux版本:  cat  /proc/version
 
apt-get install telnetd
 
方法四:(我在ubuntu10.04下测试成功)
图形模式下,首先进入终端:
1. 运行 sudo vi/etc/default/grub
2. 找到 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
3.改为 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text”
4.运行 sudo update-grub
5.reboot
(PS: quiet代表不显示详细启动过程;splash代表显示进度条)
 
命令行模式下需要返回图形模式,输入命令: startx
反过来,图形模式下返回命令行模式,在终端按ctrl+alt+F1
 
你好,从/etc/init.d/gdm中的第28行,能看到定义的是shift键,你可以试一下!
另外需要注意一下开机启动时,grub菜单 系统默认是隐藏的,去掉隐藏需要做如下操作:
1、你需要修改/etc/default/grub其中的第5行:
sudo gedit /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0(默认是0,修要修改成大于0的值,比如10)
保存后退出!
2、再执行:
sudo update-grub

3、 然后重启后在开机时按一下shift键就可以看到grub菜单了! 进入单用户模式
 
 
 
安装linux后
要先给linux安装ssh服务器   apt-get install openssh-server 
之后要把网络连接方式换成桥
 之后改ip   ifconfig eth0 IP netmask 255.255.255.0   暂时修改  重启无效
同主机为一个ip端
之后ping下看主机和虚拟机能通上否
之后可用pietty远程登录  端口号 22  用户名@IP
下个winscp可以上传下载
之后用命令安装vim编辑器
zsh
和tmux   用apt -get install  vim/zsh/tmux  即可 前提要联网
之后可以自己手动创建和修改tmux  zsh的配置文件
按自己的习惯方式  一般配置文件在etc下 
 
注:可以设为linux启动直接进入命令行界面。
 
问题:有的时候会出现pietty连接不上linux   可检查一下问题
一般情况下都想到了还是连不上的话,则点击系统的本地连接,点属性,第一项有个连接时使用   点击配置
后进入配置框    点第二项高级  有一项为硬件校验和  把值改成关闭,
看是否可行。
chsh -s /bin/zsh userlogin    
bash    
  //只能修改自己的shell  永久性的修改

转载于:https://www.cnblogs.com/darren-715/p/3457679.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf是一种高效的序列化协议,可以用于数据交换和数据存储。它的主要优势是大小小,速度快,可扩展性强。下面是使用Protobuf的一些小记: 1. 定义消息格式 首先,需要定义消息格式,以便Protobuf可以将数据序列化和反序列化。消息格式定义在.proto文件中,使用protobuf语言编写。例如,下面是一个简单的消息格式定义: ``` syntax = "proto3"; message Person { string name = 1; int32 age = 2; } ``` 这个消息格式定义了一个名为Person的消息,包含两个字段:name和age。 2. 生成代码 一旦消息格式定义好,就可以使用Protobuf编译器生成代码。编译器将根据消息格式定义生成相应的代码,包括消息类、序列化和反序列化方法等。可以使用以下命令生成代码: ``` protoc --java_out=. message.proto ``` 这将生成一个名为message.pb.java的Java类,该类包含Person消息的定义以及相关方法。 3. 序列化和反序列化 一旦生成了代码,就可以使用Protobuf序列化和反序列化数据。例如,下面是一个示例代码,将一个Person对象序列化为字节数组,并将其反序列化为另一个Person对象: ``` Person person = Person.newBuilder() .setName("Alice") .setAge(25) .build(); byte[] bytes = person.toByteArray(); Person deserializedPerson = Person.parseFrom(bytes); ``` 这个示例代码创建了一个Person对象,将其序列化为字节数组,然后将其反序列化为另一个Person对象。在这个过程中,Protobuf使用生成的代码执行序列化和反序列化操作。 以上是使用Protobuf的一些基本步骤和注意事项,希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值