摘要: 一、WIN10安装WSL2: https://blog.csdn.net/m0_51233386/article/details/127961763 可以在命令行通过指令切换WSL和WSL2版本,指令如下 wsl --set-default-version 2 wsl --set-default-v 阅读全文
posted @ 2024-05-24 09:02 solonj 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 目录一、测试环境二、环境搭建1、安装依赖库2、安装pyhton3.82.1、下载Python3.8.172.2、创建新版python的安装目录(便于卸载)2.3、安装依赖库2.4、解压安装包2.5、安装2.6、添加环境变量2.7、配置python3默认版本为3.83、安装gcc73.1、下载安装:3 阅读全文
posted @ 2023-12-28 11:28 solonj 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 参考: https://blog.csdn.net/m0_64727117/article/details/130976784 一、抢占式内核、抢占式调度、抢占式中断: 某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务。 抢占式内核的优点: (1)最高优先级的任务什么时候 阅读全文
posted @ 2023-11-17 10:38 solonj 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 总结于:https://blog.csdn.net/weixin_37921201/article/details/119429391 GNU C 的一大特色就是__attribute__ 机制。 关键字__attribute__可以设置函数属性(Function Attribute )、变量属性( 阅读全文
posted @ 2023-01-30 12:10 solonj 阅读(93) 评论(0) 推荐(0) 编辑
摘要: J-Link在线加载程序到开发板: 比如链接地址设为0x33F00000的uboot程序: 一、connect J-Link>connect J-link与板子建立连接 二、加载与跳转 2.1 加载bin到0地址 J-Link>loadbin D:\share\jzsimpleuboot.bin 0 阅读全文
posted @ 2022-10-24 14:19 solonj 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Linux三大设备驱动 字符设备:IO的传输过程是以字符为单位的,没有缓冲。比如I2C,SPI都是字符设备。 块设备:IO的传输过程是以块为单位的。跟存储相关的,都属于块设备,比如TF卡。 网络设备:与前两个不一样,是以socket套接字来访问的。 杂项设备(misc device) 1、 本小节讲 阅读全文
posted @ 2022-10-20 09:19 solonj 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 将驱动在外部编译为模块 一、在内核源码附近新建文件夹hello 1、在hello文件夹新建hello.c #include <linux/init.h> #include <linux/module.h> static int hello_init(void) { printk("hello wor 阅读全文
posted @ 2022-10-19 16:30 solonj 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 一、增加宏定义 用户自己修改。 #define CONFIG_USE_IRQ #define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ的栈大小*/ #define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ的栈大小*/ 二、建立中断向量表 阅读全文
posted @ 2022-10-17 19:31 solonj 阅读(403) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/daocaokafei/article/details/114292514 协处理器CP15,包含16个32位的寄存器,编号为0~15。常用来控制cache、TCM和存储器管理。 而访问CP15寄存器的指令主要是MCR和MRC这两个指令: MRC:协处理器 阅读全文
posted @ 2022-09-21 11:19 solonj 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 一、 1、File -> New -> Project -> C Project 2、输入工程名,选择Empty Project 、 Arm Cross GCC 3、一路next,确认编译链是否正确,点击Finish 4、右键工程名字 -> New -> Folder -> 输入文件夹名src 5、 阅读全文
posted @ 2022-09-19 15:22 solonj 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 参考: https://blog.csdn.net/hy907539007/article/details/102608816/ https://blog.csdn.net/a2529280665/article/details/121576020 1 概念 1.1 链接脚本 用来描述程序是如何在内 阅读全文
posted @ 2022-08-30 16:46 solonj 阅读(4917) 评论(1) 推荐(2) 编辑
摘要: 目录 现象 eclipse中编译一个ARM工程,编译成功后有以下打印: 数据说明: .text: 10290 byte .data: 3220 byte .bss: 276 byte dec: text+data+bss=13786 byte (十进制) hex: text+data+bss=0x3 阅读全文
posted @ 2022-08-24 14:24 solonj 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/bingcheby/article/details/89554150 https://www.vxworks.net/bsp/107-organization-structure-of-vxbus-device-driver-in-vxworks http 阅读全文
posted @ 2022-08-12 11:24 solonj 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 目录 目录 目录 空格(首行缩进) 一个空格大小的表示:&ensp; 或 &#8194;,注意要带上分号。 两个空格的大小表示:&emsp; 或 &#8195; ,使用2个即可缩进2个汉字。 标题 # 一级标题名字 ## 二级标题名字 ### 三级标题名字 阅读全文
posted @ 2022-08-11 09:36 solonj 阅读(17) 评论(0) 推荐(0) 编辑
摘要: [TOC]目录 # 一、什么是MMU MMU是Memory Management Unit的缩写。 MMU负责虚拟地址与物理地址的转换、权限控制等。 ARM出品的CPU, MMU作为一个协处理器存在 一定是编号为15的协处理器. 可以提供32BIT共4G的地址空间的映射. # 二、cache CPU 阅读全文
posted @ 2022-08-09 15:07 solonj 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 目录 一、简介 网卡(Network Interface Card,简称NIC),也称网络适配器,是网络相互连接需要的设备。 数据是以帧的方式进行传输的。数据包包含有数据、数据的发送地、接收地和数据的校验信息。 网卡主要包括OSI的最下面的两层,物理层和数据链路层。 二、MAC和PHY接口 参考链接 阅读全文
posted @ 2022-08-03 11:06 solonj 阅读(2540) 评论(0) 推荐(0) 编辑
摘要: Linux编译报错: error: function declaration isn’t a prototype [-Werror=strict-prototypes] uint32_t sysctl_get_p() 原因:之前用的arm4.4.3编译链没报错,后面用的gcc-linaro6.5.0 阅读全文
posted @ 2022-08-02 09:06 solonj 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 整理了代码、资料、博客,发现一个小小的调试阶段的串口打印,自己移植还是需要修改很多部分: xxx_defconfig 、 menuconfig 、 Kconfig 、 Kconfig.debug 、 uboot的bootargs... 一、early_print 、printk、early_prin 阅读全文
posted @ 2022-07-27 17:21 solonj 阅读(1379) 评论(0) 推荐(1) 编辑
摘要: 目录 一、uboot对fdt(flattened device tree)的支持 在xxx_defconfig中加入 #define CONFIG_OF_LIBFDT 1 /* Device Tree support */ 重新编译u-boot,就可以实现对device tree的支持。 1、在ub 阅读全文
posted @ 2022-07-25 17:32 solonj 阅读(2219) 评论(0) 推荐(0) 编辑
摘要: 目录 参考:https://blog.csdn.net/thisway_diy/article/details/84336817 韦东山设备树文章地址:http://wiki.100ask.org/Linux_devicetree 一、uboot与设备树 bootloader启动内核时,会设置r0, 阅读全文
posted @ 2022-07-25 16:58 solonj 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 目录 参考:https://blog.csdn.net/qq_35031421/article/details/105002645 一、设备树结构示例 jz2440 的设备树: s3c2440-jz2440.dts (include) > s3c2440.dtsi (include) > s3c24 阅读全文
posted @ 2022-07-25 15:20 solonj 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 一、前提 虚拟机Ubuntu能与PC主机ping通 二、filezilla设置 1 主机:填Ubuntu的IP,可用ifconfig查看 2 用户名:填Ubuntu登录的账户名,不是root! 3 密码:填账户名对应的登录密码,不是超级权限密码! 备注: passwd root//改sudo\su超 阅读全文
posted @ 2022-07-22 10:02 solonj 阅读(536) 评论(0) 推荐(0) 编辑
摘要: .tar.xz 解压1: tar xvJf FileName.tar.xz 解压2: xz -d FileName.tar.xz tar -xvf FileName.tar 压缩:未知 ———————————————— .tar 解压:tar xvf FileName.tar 压缩:tar cvf 阅读全文
posted @ 2022-07-22 09:35 solonj 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 目录 一、桥接模式、NAT模式、HOST模式 VMware网络配置方法、 Ubuntu网络配置方法、静态IP配置方法、DHCP配置方法: 详见博客:ubuntu网络配置(桥接模式, nat模式, host主机模式) https://blog.csdn.net/ApeLife/article/deta 阅读全文
posted @ 2022-07-21 19:24 solonj 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 目录 一、ARM架构 与 ARM处理器 对应关系表 1.1 见: https://infogalactic.com/info/List_of_ARM_microarchitectures https://wikimili.com/en/List_of_ARM_microarchitectures 1 阅读全文
posted @ 2022-06-23 14:39 solonj 阅读(2125) 评论(0) 推荐(0) 编辑
摘要: 插上J-LINK后,JLINK有可能会给开发板供电,如果要关闭: V8版本:切换跳帽位置; V9版本:打开J-Link Commander控制台,输入power off perm。 阅读全文
posted @ 2022-04-11 08:44 solonj 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 详细问答见网址: https://bbs.csdn.net/topics/380135980 我用的板子是DM9000C,网上下载的例程是DM9000A,问题现象为:网卡接收中断 无法接收数据。 解决方法: //FOR DM9000A dm9000_reset(db); dm9000_init_dm 阅读全文
posted @ 2022-04-08 15:51 solonj 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 理论 https://www.cnblogs.com/alan666/p/8312144.html void lwip_init(void) LWIP协议栈初始化,不用动。 //注册网卡 dw_gmac_netif ,进行网卡底层初始化low_level_init, //绑定底层 low_level 阅读全文
posted @ 2022-03-31 16:42 solonj 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 1、背景 右键点击Windows中的Ubuntu虚拟机文件夹,发现它占用Windows磁盘空间大小140GB; 然后进入Ubuntu,输入 df -hl 可以算出实际占用空间也大约为140GB。在Ubuntu中删除约30GB的文件后,输入 df -hl 算出占用空间变为了110GB; 但右键点击虚拟 阅读全文
posted @ 2022-03-23 16:16 solonj 阅读(2860) 评论(0) 推荐(0) 编辑
摘要: (目录) 一、ARM系统的异常与中断 参考文章:https://www.jianshu.com/p/4ae912d468ac?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes 1、赋予了中断号并使能中断的外设,发生中断(这 阅读全文
posted @ 2022-03-04 11:26 solonj 阅读(519) 评论(0) 推荐(0) 编辑
摘要: @(目录) 资源链接 1、QEMU开发板 在线文档: http://wiki.100ask.org/Qemu 2、QEMU开发板 网盘资源:http://weidongshan.gitee.io/informationdownloadcenter/boards/Sim/qemu/index.html 阅读全文
posted @ 2022-03-02 10:06 solonj 阅读(1902) 评论(0) 推荐(0) 编辑
摘要: 裸机编写驱动比较自由,按照手册实现其功能即可,每个人写出来都有很大不同; 而Linux中还需要按照Linux的驱动模型来编写,也就是需要按照“模板”来写,写出来的驱动就比较统一。 一、 Linux采用总线设备驱动模型。主要包含总线、设备、驱动三个部分。 总线:最先注册,有几个重要的回调函数,例如m 阅读全文
posted @ 2022-03-02 10:03 solonj 阅读(424) 评论(0) 推荐(0) 编辑
摘要: @(目录) 一、git下载九鼎SDK 在ubuntu16中,通过: git clone https://gitlab.com/9tripod/x3288_linux_new.git git clone https://gitlab.com/9tripod/x3399_linux_new.git 获 阅读全文
posted @ 2022-03-02 10:01 solonj 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: @ "TOC" 问题 Linux内核中,.c文件引用.h文件的问题让人困惑: include 实际用的是asm arm/aaa.h include 实际用的是include/asm arm/arch s3c2410/memory.h 原因 网上查找资料,说是对asm、arch、mach建立了软链接 阅读全文
posted @ 2022-03-02 09:58 solonj 阅读(469) 评论(0) 推荐(0) 编辑
摘要: @ "TOC" 1、启动地址 先以2440开发板为例,SDRAM(0x30000000 0x34000000) 共64MB。 uboot中一般设置uboot启动地址为: TEXT_BASE=0x33F80000 。该地址是uboot正式运行起来后的地址,但刚开始的汇编阶段代码并不是在该地址上运行的 阅读全文
posted @ 2022-03-02 09:57 solonj 阅读(231) 评论(0) 推荐(0) 编辑
摘要: @(目录) 1 使ubuntu支持两个版本的编译链: /etc/environment改为如下,重启生效后, 当我们指定CROSS_COMPILE=arm-none-linux-gnueabi-,系统肯定会用4.3.2的编译器; 当我们指定CROSS_COMPILE=arm-linux-时,两个版 阅读全文
posted @ 2022-03-02 09:52 solonj 阅读(122) 评论(0) 推荐(0) 编辑
摘要: @ "TOC" 为了快速调试,采用ramdisk进行根文件系统测试。要使内核能挂载ramdisk根文件系统,需要做如下工作: 1 Linux内核配置 (注意::测试了 linux2.6 和 linux4.14 ,以下流程都是一样的) 执行 ,并做如下配置: a):General setup 选择I 阅读全文
posted @ 2022-03-02 09:49 solonj 阅读(194) 评论(0) 推荐(0) 编辑
摘要:  环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1、 在Windows系统安装VMware15软件; 2、 网上下载并解压ubuntu 16.04.2 x64 100ask for win7,8,10 64bit.zip 阅读全文
posted @ 2022-03-02 09:48 solonj 阅读(540) 评论(0) 推荐(0) 编辑
摘要: (目录) 建立一个文件或文件夹的软链接: ln -s 原名 软链接名 软链接就类似Windows下的“快捷方式”,访问它其实访问的是它指向的内容。 git仓库操作 1、通常远程操作的第一步,是使用git clone从远程主机克隆一个版本库到本地文件夹下。 2、要获取远程仓库的代码更新,使用git 阅读全文
posted @ 2022-03-02 09:44 solonj 阅读(56) 评论(0) 推荐(0) 编辑
摘要: @(目录) Windows系统:Windows10 x64 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 BootLoader:u-boot-2010.03 Linux内核:Linux2.6 编译链:gcc-3.4.5-glibc 阅读全文
posted @ 2022-03-02 09:40 solonj 阅读(719) 评论(0) 推荐(0) 编辑