- 博客(32)
- 资源 (37)
- 收藏
- 关注
原创 OK6410A 开发板 (九) A buildroot-2021.02 OK6410A 文章整理
硬件环境ok6410a板子的配置及资料整体boot现状最简移植ok6410a buildroot-2021.02 最简 移植busybox启动root账户密码登陆控制台为 串口0支持 reboot poweroffX11linux-5.11 ok6410a 增加lcd支持ok6410a buildroot-2021.02 x11 移植包括 ok6410a buildroot-2021.02 最简移植 的所有功能呢支持 设备管理mdev支持 xorg支持 网络工具
2021-04-15 14:43:29 441 1
原创 OK6410A 开发板 (八) A linux-5.11 OK6410A 文章整理
硬件环境ok6410a板子的配置及资料核心移植linux-4.0的移植linux-5.11的移植分析linux-5.11的配置过程分析linux-5.11的编译链接过程分析linux-5.11运行过程简略分析
2021-04-01 18:50:28 1367 4
原创 OK6410A 开发板 (八) 14 linux-5.11 OK6410A 中断发生流程
链接脚本arch/arm/kernel/vmlinux.lds.S __init_begin = .; /* * The vectors and stubs are relocatable code, and the * only thing that matters is
2021-04-28 14:27:22 177
原创 OK6410A 开发板 (八) 13 linux-5.11 OK6410A start_kernel 打印角度 第一阶段 console
相关打印Kernel command line: root=/dev/nfs rw nfsroot=10.10.11.59:/home/suws/ok6410/system-new/buildroot/output/images/rootfs console=tty0 console=ttySAC0,115200 init=/linuxrc ip=10.10.11.120Console: colour dummy device 80x30printk: console [tty0] enabled.
2021-04-27 17:54:06 236
原创 OK6410A 开发板 (八) 12 linux-5.11 OK6410A start_kernel 打印角度 第一阶段 irq
start_kernel local_irq_disable // include/linux/irqflags.h // 224 #define local_irq_disable() do { raw_local_irq_disable(); } while (0) // 155 #define raw_local_irq_disable() arch_local_irq_disable() // arch/arm/include/asm/irqflags.h
2021-04-27 17:00:10 153
原创 OK6410A 开发板 (八) 11 linux-5.11 OK6410A start_kernel 打印角度 第一阶段 mem
其实 setup_arch 中也有 关于 mem 的部分setup_arch 中 与mem 相关的部分2. 匹配 板级 mdesc , 并解析 atags(包括core cmdline mem)5. 初始化 各种类型的 描述符表6. 添加 各种(kernel/initrd/设备树/atags/设备树中预留的/)预留的内存到 memblock7. 对 即将存储页表的地址 清08. 针对 多项内容(lowmem/设备树/vectors/各项设备)填充页表10. 申请内存,用于存储 很多个str
2021-04-26 18:22:07 225
原创 OK6410A 开发板 (八) 10 linux-5.11 OK6410A start_kernel 打印角度 第一阶段 setup_arch
setup_arch(&command_line) 打印的信息CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387dCPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cacheMachine: SMDK6410Memory policy: Data cache writebackSamsung CPU I.
2021-04-24 12:19:44 381
原创 OK6410A 开发板 (八) 9 linux-5.11 OK6410A start_kernel 打印角度 第一阶段 概览
从打印角度的全局概览// 其实 linux 启动过程中 打印 大多是 arch_call_rest_init->rest_init->kernel_init->kernel_init_freeable->do_basic_setup->do_initcalls 打印的// 这一部分暂时不考虑// 这里只分析 从 start_kenel运行 到 arch_call_rest_init运行前的打印 // 打印信息暂不列出了.// 这里就挑出相关打印相关的函数并分.
2021-04-24 11:37:58 136
原创 OK6410A 开发板 (八) 8 linux-5.11 OK6410A 详细解析 start_kernel运行时的 栈
include/asm-generic/vmlinux.lds.h 376 #define INIT_TASK_DATA(align) \ 377 . = ALIGN(align); \ 378 __start_init_task = .;
2021-04-23 15:04:39 176
原创 OK6410A 开发板 (八) 8 linux-5.11 OK6410A System.map 解析
System.map 可以分为8个部分杂00000018...c0004000 A swapper_pg_dir...c0008000 T _text...c0008000 T stext...c000807c t __create_page_tablesc0008150 t __enable_mmuc00081d4contains .text.* sections, may also contain .rodata.* and/or .init.* sect
2021-04-22 18:59:34 113
原创 OK6410A 开发板 (八) 7 linux-5.11 OK6410A usb camera移植
代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11提交id : 0cf53aa024fbd417f0796a77ff7f9b891680dac8defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb_debug_uvc_defconfig用户空间代码 uvc_cam_testMakefileCROSS_COMPILE =arm-none-
2021-04-22 14:57:23 158
原创 OK6410A 开发板 (八) 6 linux-5.11 OK6410A 详细解析 从 u-boot 的 theKernel 到 linux的 start_kernel
之前写过 linux-3.0.1 ok6410a 的启动流程, 从 arch/arm/boot/compressed/head.S 到 mm_init 完成回忆 linux-3.0.1 ok6410a 的启动流程这里讲述了 内存镜像的生成过程以及压缩/无压缩镜像启动的不同打印压缩内核 会打印 Uncompressing Linux… done, booting the kernel ,再打印 Booting Linux on physical CPU非压缩内核直接打印 Booting Linux
2021-04-21 12:43:35 436
原创 OK6410A 开发板 (九) 4 buildroot-2021.02 OK6410A rootfs 中的动态链接库
rootfs中动态链接库的来源来自于 交叉编译链rootfs 中 libc.so.6 来源猜想suws@ubuntu:~/ok6410/system-new/buildroot/output$ sudo find . -name libc.so.6 | xargs ls -l lrwxrwxrwx 1 suws suws 12 May 30 2014 ./host/arm-buildroot-linux-gnueabi/sysroot/lib/libc.so.6 -> libc-2.
2021-04-20 15:13:41 279
原创 OK6410A 开发板 (九) 3 buildroot-2021.02 OK6410A reboot分析
reboot 涉及到了 console busybox : busybox app 架构 glibc : glibc对系统调用的封装 glibc : kill实现 glibc : reboot实现 armv6架构:swi异常 linux : swi异常的处理方法从reboot 的执行流程来看 reboot过程1./bin/bash shell下键入 reboot,console对字符的处理# cat /proc/cmdline root=/dev/nfs rw
2021-04-20 12:25:49 434
原创 市场上的risc-v芯片
IP处理器 IP平头哥 玄铁906 玄铁910芯来科技 N100系列 N203 --- 600系列 N600 NX600 900系列 N900 NX900芯片AP芯片iFive(赛昉科技) 惊鸿VIC7100 SiFive Freedom U540 嘉楠科技 勘智K210全志 D1 玄铁906MCU芯片兆易创新 GD32VF103沁恒微电子 CH32V103乐鑫科技 ESP32-C3中微半导体 ANT32RV56xx.
2021-04-19 11:19:58 1888
原创 OK6410A 开发板 (八) 5 linux-5.11 OK6410A kernel 所有镜像的执行效果
结论objcopy 得到的镜像是可以被 u-boot 加载执行的 arch/arm/boot/Image arch/arm/boot/zImage arch/arm/boot/uImage // 相较于 zImage 多了一个uImage头 在 https://blog.csdn.net/u011011827/article/details/115380889 中 说明了 u-boot 镜像可以怎么用 linux 和 u-boot 是一样的 ,请参考 链接中 的 "文件数据的解析" .
2021-04-16 17:08:12 364
原创 xrdp 与 rdesktop
1.简介命令 xrdp 是 包 xrdp 提供的,是服务器端 (xrdp 调用了 vnc,好像不调用vnc也可以,TODO)命令 rdesktop 是 包 rdesktop 提供的,是客户端用作图形界面远程连接 xrdp使用Microsoft远程桌面协议(RDP)为远程计算机提供图形登录xrdp接受来自各种RDP客户端的连接: FreeRDP rdesktop NeutrinoRDP Microsoft远程桌面客户端2.如何跑起来配置服务器配置: /etc/x
2021-04-16 16:21:37 791
原创 OK6410A 开发板 (八) 5 linux-5.11 OK6410A usb 移植
代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11提交id : dc485e937e8bccc1fc01b5e6d9025bf83b2b6f83defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb_defconfig
2021-04-16 14:43:07 156
原创 OK6410A 开发板 (七) 2 buildroot-2021.02 OK6410A x11和桌面 移植
CODEx11 代码https://github.com/lisider/buildroot/tree/ok6410a-2021.02configs/ok6410a_x11_defconfigdesktop matchbox 代码https://github.com/lisider/buildroot/tree/ok6410a-2021.02configs/ok6410a_desktop_matchbox_defconfig// 缺乏 usb 键鼠的支持,待完善效果x11移植
2021-04-15 16:14:05 573
原创 OK6410A 开发板 (八) 4 linux-5.11 OK6410A 外围驱动
其他驱动目前已经弄完的,且正常能用的bootuartmmc(sd)ddrlcd(FIT-LCD4.3,CON1外插)目前还剩下比较有意思的,过一阶段再弄gpio(J8/J12/J13)led(led1/2/3/4)ethernet(dm9000a)camera(FIT-CAM-OV9650,JP1外插)audio(ac97,wm9714,粉红色插口J7mic,青色插口J6speaker,淡蓝色插口J14)nand(K9G8G08U0A)usb(usb otg)jtag(CN
2021-04-12 16:41:22 134
原创 OK6410A 开发板 (八) 3 linux-5.11 OK6410A lcd wxcat43 移植
代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11提交id : f426d479eb717909f77475348e8c81269fee7e6bdefconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_defconfig
2021-04-12 16:33:41 220
原创 市面上的单板计算机
ARM 系列树莓派香蕉派BeagleBone BlackUp BoardRISC-V 系列Beagle-V(星光) // Beagle VTM 发布时间:2021.01.13 soc : 惊鸿VIC7100系列视觉处理芯片(2020.10发布) 4core 2MB L2 cache 1.5GHz cpu : 天枢 isp : 实时处理4K分辨率图像 NNE神经网络引擎 视频编解码 imagination 图形处理器 接口 : 40 pin G.
2021-04-11 19:57:31 702
原创 OK6410A 开发板 (三) 27 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 console
模型串口和 lcd 都能被当做 输出,所以能被当做 console无console机制的输出 : 串口只是 利用 serial_puts 将 信息打印到 串口上无console机制的输出:lcd只是 利用 lcd_puts 将 信息打印到 lcd上console将 serial_puts 和 lcd_puts 注册到 console 机制中调用 console 提供的 console_puts 打印信息至于打印到 串口还是 lcd ,则取决于 console的配置
2021-04-08 11:12:09 362
原创 OK6410A 开发板 (八) 2 linux-5.11 OK6410A linux开发环境搭建
要实现u-boot tftp uImage uImage 网络挂载 根文件系统1 TFTP服务器与客户端的安装2 NFS服务器的安装3 内核的配置4 文件系统的制作5 u-boot 环境变量的设置setenv gatewayip 10.10.11.254setenv ipaddr 10.10.11.120setenv serverip 10.10.11.59setenv bootcmd 'tftp 0x50008000 uImage;bootm 0x5
2021-04-07 10:29:58 163
原创 OK6410A 开发板 (八) 1 linux-5.11 OK6410A ethernet dm9000 移植
配置CONFIG_DM9000=ydriverdrivers/net/ethernet/davicom/dm9000.cdevice$ git diff arch/arm/mach-s3c/mach-smdk6410.c diff --git a/arch/arm/mach-s3c/mach-smdk6410.c b/arch/arm/mach-s3c/mach-smdk6410.cindex ae18c13..d6abcdd 100644--- a/arch/arm/mac.
2021-04-07 10:26:07 281 1
原创 u-boot-2021.01引导linux-5.11(uImage)的过程详解
fatload mmc 0:1 0x50008000 uImage;bootm 0x50008000;SUDEBUG : ../common/bootm.c,bootm_find_os,line = 235,images.os.start:0x50008000 // uImage 所在的内存地址起始位置SUDEBUG : ../common/bootm.c,bootm_find_os,line = 236,images.os.end:0x501c67b8 // uImage 所在的内存地址结束位置
2021-04-02 17:35:28 298
原创 OK6410A 开发板 (六) 4 OK6410A linux-5.11 镜像生成过程解析
内核 镜像 解析uImage 的 入口符号地址linux-5.11 镜像 的生成过程vmlinux -objcopy-> arch/arm/boot/Imagearch/arm/boot/Image -gzip & add arch/arm/boot/compressed/head.S-> arch/arm/boot/compressed/vmlinuxarch/a.
2021-04-02 11:59:39 198
原创 OK6410A 开发板 (三) 26 u-boot-2021.01 u-boot镜像
u-boot的解析$ arm-linux-gnueabi-readelf -S output/u-boot There are 28 section headers, starting at offset 0x1ec6a4:Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL .
2021-04-01 18:37:18 187
原创 OK6410A 开发板 (三) 25 u-boot-2021.01 boot 解析 U-boot 内存命令 md
vim 二进制文件 之后 :%!xxd 显示二进制内存里的数据=> tftp 51000000 2led_c.bindm9000 i/o: 0x18000300, id: 0x90000a46 DM9000: running in 16 bit modeMAC: 76:c5:cb:38:0b:edoperating at 100M full duplex modeUsing dm9000 deviceTFTP from server 10.10.11.59; our IP add
2021-04-01 15:53:34 126
原创 OK6410A 开发板 (三) 24 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 fs-fat
相关配置CONFIG_CMD_FAT=y相关文件fs/fat/fat.cfs/fs_internal.cfs/fs.ccmd/fat.c命令及命令的使用fatinfo - print information about filesystemfatload - load binary file from a dos filesystemfatls - list files in a directory (default /)fatsize - det.
2021-04-01 13:31:36 241 1
原创 OK6410A 开发板 (三) 23 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 DM 的一次实例分析 - 串口
串口相关的 UCLASS DRIVER DEVICEUCLASS./drivers/serial/serial-uclass.c L504504 UCLASS_DRIVER(serial) = { 505 .id = UCLASS_SERIAL, 506 .n
2021-04-01 11:10:52 170 1
原创 OK6410A 开发板 (三) 22 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 malloc
malloc 系统 分为两部分 board_init_f 过程中 malloc的初始化和消费者 board_init_r 过程中 malloc的初始化和消费者两套malloc的初始化board_init_f initf_malloc common/dlmalloc.c gd->malloc_limit = 0x100000; gd->malloc_ptr = 0; reserve_malloc common/board_f.c gd->start_addr_s
2021-04-01 10:22:07 154
freetype2+SDL+SDL_ttf源码包及字符串转bmp图片demo
2017-03-07
linux-5.17 arm32 arm64 rv64 arch 下的 共同函数
2022-06-16
grub-build.log
2020-11-22
sdio_data_AllInOne.rar
2019-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人