embedded-常用的编译命令
uboot
使用 海思的 3531 芯片举例
在线更新 u-boot
# 设置server ip |
使用 海思的 3531 芯片举例
# 设置server ip |
// 输入下面字符然后 tab 键补全,确认交叉编译环境是否正常 |
Ethernet网口通常由CPU、MAC和PHY三部分组成,通常用DMA控制器参与网口数据传输,以减轻CPU的负担。有的CPU内部集成MAC控制器,有的则采用外置的MAC芯片。
MII(Media Independent Interface 媒体独立接口)是IEEE 802.3标准定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。MII数据接口包括分别用于发送器和接收器的两条独立信道,每条信道拥有数据、时钟和控制信号,共16条信号线。MII管理接口即MDIO接口包含一个时钟信号(MDC)和一个数据信号(MDIO),通过管理接口,上层能监视和控制PHY。根据IEEE802.3标准定义,MII管理接口最多支持同时管理32个PHY。
CPU/MAC通过MDIO接口(类似于I2C接口,因此PHY拥有PHY ADDR)管理PHY芯片。
MAC和PHY之间的数据传输接口类型有MII/RMII(Reduced MII)/SMII(Stream MII)/GMII几种,根据传输速率(10M/100M/1000M)又有不同细分,比如千兆GMII/RGMII/SGMII。
GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。
// 只查看指定 mac 地址的包 |
winpcap 已经停止更新了,现在使用 npcap
卸载旧的 npcap 1.55 版本,到下面地址下载 1.60 版本,安装就可以了
https://npcap.com/#download
ROOTDIR=$(shell pwd) |
增加目标文件,会自动编译
COBJS-$(CONFIG_GODNET) += sys_godnet.o |
在 Makefile 使用 include 关键字可以把别的 Makefile 包含进来,这很像 C 语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。如果文件都没有指定绝对路径或是相对路径的话,make 会在当前目录下首先寻找,如果当前目录下没有找到,那么,make 还会在下面的几个目录下找:
● 如果 make 执行时,有“-I”或“–include-dir”参数,那么 make 就会在这个参数 所指定的目录下去寻找。
● 如果目录
如果你想让 make不理那些无法读取的文件,而继续执行,你可以在 include 前加一个减号“-”。
-include <filename> |
其表示,无论 include 过程中出现什么错误,都不要报错继续执行。和其它版本 make 兼容的相关命令是 include,其作用和这一个是一样的。
include 的语法是:
include
多个 filename 可以用一个或多个空格隔开
举个例子,你有这样几个 Makefile:a.mk、b.mk、c.mk,还有一个文件叫foo.make,以及一个变量$(bar),其包含了 e.mk 和f.mk
include foo.make *.mk $(bar) |
-L :此选项是指定链接库的文件夹地址 |
MVVM
MVVM: Model-View-ViewModel,数据驱动视图
使用 vscode 开发
npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)
安装nodejs
// 行注释 |
var=$(command) |
# 这里的-f参数判断 /data/filename 是否存在 |
data=$(command) |
commonApp="64sqlserver|64ctrl|boa_1203_arm" |
注意:所有函数在使用前必须定义。调用函数仅使用其函数名即可。
#!/bin/bash |
–b 当file存在并且是块文件时返回真 |
启动的时候 按任意键 进入u-boot 交互模式
查看系统环境变量
printenv
# serverip=192.168.0.107 |
# 设置server ip |
以RTL8363 ASIC驱动为例 |
// 31aeec0 是文件系统的大小,tftp 会打出来 |