嵌入式学习记录

一 环境搭建

1.Ubuntu ssh登陆开发板,短命令替换ssh命令 交叉编译命令

sudo gedit ~/.bashrc
# 文件结尾加入:
alias tob="ssh root@192.168.1.104"
alias gb="arm-buildroot-linux-gnueabihf-gcc"

往后终端输入top 相当于输入ssh root@192.168.1.104
输入gb相当于输入arm-buildroot-linux-gnueabihf-gcc
注意ssh用户名和目标IP地址替换为自己的,交叉编译工具也得替换为自己的

2.imx6ull开发板挂载到Ubuntu 出现权限问题
报错:mount: mounting 192.168.1.105:/home/q/acode/tftp on /mnt failed: Permission denied

sudo gedit /etc/exports
# 在文件结尾加入:
/home/q/acode/tftp 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
# /home/q/acode/tftp:Ubuntu上的tftp路径,192.168.1.0/24自己的IP网段,这两根据实际情况修改
sudo /etc/init.d/nfs-kernel-server restart
# 开发板中执行:
mount -t nfs -o nolock,vers=3 192.168.1.105:/home/q/acode/tftp /mnt
# 同样根据实际情况修改IP和路径

二 TCP UDP

1.UDP客户端发送数据
方式1:
(1)conect建立与服务端的伪连接(与TCP不同不维护连接信息,只是将本地套接字与远程IP和端口关联)
(2)send发送数据
适用场景:需要与一个固定的服务器进行长时间的通信,
缺点:服务器IP改变后需要重新connect,连接需要开销
优点:发送数据无需重新指定IP和端口
方式2:
(1)sendto指定远程服务器IP和端口
适用场景:需要向多个服务器发送数据,不方便切换IP
缺点:每次需要重新指导服务器IP和端口,效率可能稍低
优点:无需连接,灵活性高

2.TCP和UDP type参数
TCP:socket(AF_INET, SOCK_STREAM, 0) ,TCP socket是流式的,数据流式传输
UDP:socket(AF_INET, SOCK_DGRAM, 0),UDP socket基于数据报,数据被分割为独立数据报文

3.为什么tcp服务端需要信号量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值