![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式产品
onj123
这个作者很懒,什么都没留下…
展开
-
嵌入式产品:通信方式
常见通信方式:SBUS/UART/I2C/SPI/USB/PPM/JTAG/CAN/MIDI/RS-232/RS-485同步与异步同步:有时钟信号,每个时钟发一位数据(时钟的频率和每一位数据对应)异步:没有时钟信号,有数据起始位/停止位,从数据起始位开始间隔一定的时间取信号串行与并行串行:一位位发,先发低字节并行:一次性发送UART异步串行(先发低字节)接口:TXD/RXD速度:一般9600个比特位每秒,即每秒传输9600/8=1200字节数据长度:8位起始位:高变低停止位:低变高原创 2020-05-12 19:06:37 · 274 阅读 · 0 评论 -
嵌入式产品:烧录
SD卡启动(emmc有boot才能用SD卡启动)1. windows软件 a. ether b. win32DiskImager2. Linux a. 检查SD卡文件系统类型 dmesg | grep mmcblk b. dd拷贝镜像到SD卡 sudo dd bs=4M if=~/system.img of=/dev/sdb status=progress sudo sync转为emmc启动系统启动后,使用dd把sd卡上的内核uImage和文件系统rootfs.img.tar分别拷贝原创 2020-05-12 19:05:45 · 371 阅读 · 0 评论 -
嵌入式产品:build root制作系统
Buildroot是一个简单,高效且易于使用的工具,可通过交叉编译来生成嵌入式Linux系统,由Makefile脚本和Kconfig配置文件构成。快速变成编译cross-compilation toolchain、bootloader、kernel、rootfs、第三方库。链接Rockchip原厂Buildroot项目: https://github.com/rockchip-linux/buildrootBuildroot官网: https://buildroot.org下载编译1. wget原创 2020-05-12 19:03:53 · 610 阅读 · 0 评论 -
嵌入式产品:编译boot
uboot(universal bootloader 通用启动代码)1. 本质:裸机程序:上电就运行,独占CPU,启动内核就结束2. 核心功能:启动系统内核3. uboot是个开源项目,是bootloader标准PC启动流程1. BIOS程序由厂家烧录在主板(norflash)上(操作系统在硬盘)2. BIOS初始化内存/硬盘3. BIOS把操作系统从硬盘读到DDR4. BIOS启动系统5. BIOS结束uboot启动流程1. uboot程序/操作系统在flash上2. uboo原创 2020-05-12 19:02:18 · 204 阅读 · 0 评论 -
嵌入式产品:升级
步骤:升级程序作为一个单独的进程1. 定时请求2. 对比版本号(使用正则匹配或字符串提取主版本号、次版本号、末版本号)3. 当前版本号较小时下载升级资源包4. 备份当前版本程序5. 解压升级包6. 关闭运行的程序7. 文件覆盖、赋予可执行权限8. 尝试启动应用程序9. 升级失败回滚版本 10. 上报升级结果11. 重启注意:1. 解压出来的文件的权限、文件的所有者2....原创 2020-01-18 22:01:18 · 138 阅读 · 0 评论 -
嵌入式产品:硬件-串口
设备节点:/dev/ttySx 或者 /dev/ttyAMAx查看配置:sudo stty -F /dev/ttyS0操作流程1. 打开设备2. 设置波特率、数据位、停止位、奇偶校验位、数据流控制等3. 设置是否阻塞读、读取最少字符数量、等待时间等4. 读写设备注意:1. 注意清空读写缓冲区2. 如果读写数据频繁则开启线程读取,否则open,read/write后close设备...原创 2020-01-17 18:15:17 · 125 阅读 · 0 评论 -
嵌入式产品:硬件-GPIO
1. 引脚计算GPIO1_A3和引脚编号的对应关系:GPIOn_xt的编号=n×32+x+t=1×32+0+3=35ABCDEF对应0123452. 导出引脚echo 35 > /sys/class/gpio/export在 /sys/class/gpio下生成设备节点gpiochip353. GPIO方向(out输出,in输入) a. 查看GPIO方向(out输出,in输入...原创 2020-01-17 17:54:37 · 344 阅读 · 0 评论 -
嵌入式产品:硬件-设备节点
一切设备皆文件,可以通过读写文件来操作设备/dev:设备节点号(驱动中注册时创建节点)/dev/mmcblk1 # flash/dev/mmcblk1px # flash的x分区/dev/watchdog # flash/dev/i2c-x # i2c/dev/ttySx # 串口/dev/videox ...原创 2020-01-17 17:45:15 · 278 阅读 · 0 评论 -
嵌入式产品:移植
注意:1. 检查内存是否够大,不够大编译时会崩溃,弹出其它错误提示2. 解压源码时用对应的命令解压,不要偷懒用-xvf3. make install 安装时用sudo权限移植步骤1. 解压源码2. 配置./configure 不加参数采用默认安装,安装到/usr/local--prefix=/temp 安装目录为/temp3. 查看配置参数./configure --he...原创 2020-01-17 17:44:12 · 125 阅读 · 0 评论 -
嵌入式产品:开机设置
开机时开启或关闭桌面(ubuntu18.04或16.04)1. 设置为字符界面的命令:sudo systemctl set-default multi-user.target2. 设置为图形界面的命令:sudo systemctl set-default graphical.target然后重启3. 临时使用桌面(重启后还是字符界面):sudo systemctl start light...原创 2020-01-09 18:24:16 · 174 阅读 · 0 评论 -
嵌入式产品:启动
boot启动命令cat /proc/cmdlineconsole=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait init=/sbin/init sysremd.show_status=false g_ether.host_addr=82:cf:ce:fa:44:18 initrd=0x49000000,0x40000...原创 2020-01-09 18:09:00 · 93 阅读 · 0 评论 -
嵌入式产品:编译文件系统
文件系统:目录+文件,再封装成一定的文件系统格式Busybox是一个UNIX系统工具集,它将很多普通的UNIX工具集成到一个很小的可执行文件中,为普通用户提供大多数常用的命令。在生成的文件系统的/bin下的所有命令软连接,都指向了/bin/busybox。准备:安装字符终端处理库ncursessudo apt-get install libncurses5-dev编译文件系统1. 下...原创 2020-01-09 18:03:04 · 265 阅读 · 0 评论 -
嵌入式产品:编译内核
编译内核1. 下载内核源码:https://www.kernel.org/2. 安装图形化配置工具sudo apt-get install libncurses-dev3. 指定CPU架构和编译器方法一: 在内核源码根目录下的Makefile中指定交叉编译工具 ARCH ?= arm CROSS_COMPILE ?= arm-none-linux-gnue...原创 2020-01-09 18:01:16 · 163 阅读 · 0 评论 -
嵌入式产品:交叉编译工具
交叉编译器:用来在PC上把代码编译成ARM能执行的可执行文件,再把这个可执行文件放到ARM上跑。arm-none-linux-gnueabi-gcc是 Codesourcery 公司基于GCC,使用Glibc库,的编译器主要用于基于ARM架构的Linux系统,可用于编译 ARM 架构的 u-boot、Linux内核、linux应用等。安装1. 下载arm-none-linux-gnueabi...原创 2020-01-09 18:00:08 · 193 阅读 · 0 评论