2019年1月

嵌入式、物联网技术交流分享

u-boot 通过 tftp 下载 uImage

使用 tftp 下载镜像文件 setenv serverip 172.16.9.52 saveenv # 保存 tftp 0x80800000 uImage # 从服务器下载 uImage 放在 RAM 的 0x80800000 地址(不写地址默认是 0x80200000) bootm 0x80800000 # 从该地址加载内核镜像启动 Linux 系统(掉电后镜像会丢失) 怎样掉电不丢失呢,直接写 flash,替换原有镜像。 查看 nand flash 分区: mtdparts device nand0 <omap2-nand.0>, # parts = 8 #: name size offset mask_flags 0: SPL 0x00020000 0x00000000 0 1: SPL.backup1 0x00020000 0x00020000 0 2: SPL.backup2 0x00020000 0x00040000 0 3: SPL.backup3 0x00020000 0x00060000 0 4: u-boot 0x001e0000 0x00080000 0 5: u-boot-env 0x00020000 0x00260000 0 6: kernel 0x00500000 0x00280000 0 7: rootfs 0x07880000 0x00780000 0 active partition: nand0,0 - (SPL) 0x00020000 @ 0x00000000 defaults: mtdids : nand0=omap2-nand.0 mtdparts: mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),5m(kernel),-(rootfs) 擦除原镜像: nand erase 0x00280000 0x00500000 将内存中的镜像文件写入 nand flash: nand write 0x80800000 0x00280000 ${filesize} U-Boot 中的环境命令可以使用 $(filesize) 来确定刚下载(传输)得到的文件大小,printenv filesize 可查看其...

VMWare Ubuntu 扩容

1、在虚拟机的配置窗口使用“扩展...”按钮扩展磁盘容量。 注意,如果有快照就不能用了。需要删掉快照。 2、安装 gparted sudo apt install gparted 3、删除交换分区及扩展分区 4、调整分区大小 5、在未使用的磁盘空间创建扩展分区,再创建交换分区。 6、应用所有...

Linux 内核常用函数头文件

linux/types.h size_t time_t clock_t uint8_t uint16_t ... linux/stddef.h NULL true false offsetof stdarg.h Linux 内核中没有 stdarg.h 头文件(stdarg 是编译器内建的,所以不包含在内核中),要使用编译工具链中的 stdarg.h 头文件。 linux/ctype.h isdigit、islower、isupper、tolower、toupper ... linux/string.h memcpy memmove memcmp memset strcpy strlen strcat strstr strcmp strchr strncpy strlcpy strnlen strncat strnstr strncmp strnchr linux/printk.h printk、vprintk linux/uaccess.h copy_to_user copy_from_user linux/slab.h kmalloc kzalloc krealloc kfree linux/vmalloc.h vmalloc vfree linux/kernel.h 当包含 linux/kernel.h 时就间接包含了 stdarg.h(不在内核中)、linux/types.h、linux/types.h、linux/printk.h 等头文件 sprintf、snprintf、vsprintf、vsnprintf 也在这里...