程序项目代做,有需求私信(vue、React、Java、爬虫、电路板设计、嵌入式linux等)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 35 下一页
摘要: 一、u-boot移植概述 1.1 移植不同的硬件层次 我们要向不同的硬件平台上移植u-boot,我们必须明确不同硬件平台之间的差别。而硬件的差别体现在多个层面上。比如说我们使用的Mini2440开发板,采用的SOC芯片是三星公司的S3C2440,该SOC使用的内核(CPU)是ARM公司设计的ARM9 阅读全文
posted @ 2021-11-27 19:53 大奥特曼打小怪兽 阅读(1086) 评论(0) 推荐(0) 编辑
摘要: 看到这里的同学,恭喜你,马上就看完了u-boot的源码了。 一、run_main_loop 我们介绍到了init_sequence_r的最后一个函数run_main_loop,该函数位于common/board_r.c文件中。 static int run_main_loop(void) { #if 阅读全文
posted @ 2021-11-27 15:22 大奥特曼打小怪兽 阅读(674) 评论(0) 推荐(0) 编辑
摘要: board_init_r和board_init_f差不多,都是执行一个循环。这里是循环执行init_sequence_r[]里的函数指针。 一、board_init_r(common/board_r.c) void board_init_r(gd_t *new_gd, ulong dest_addr 阅读全文
posted @ 2021-11-24 23:15 大奥特曼打小怪兽 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 所谓的relocation,就是重定位,u-boot运行后会将自身代码拷贝到SDRAM的另一个位置继续运行。 但基于以前的理解,一个完整可运行的bin文件,link时指定的链接地址,load时的加载地址,运行时的运行地址,这3个地址应该是一致的。 relocation后运行地址不同于加载地址,特别是 阅读全文
posted @ 2021-11-22 22:50 大奥特曼打小怪兽 阅读(976) 评论(1) 推荐(1) 编辑
摘要: 一、board_init_f(common/board_f.c) 该函数位于common/board_f.c文件: void board_init_f(ulong boot_flags) { #ifdef CONFIG_SYS_GENERIC_GLOBAL_DATA /* * For some ar 阅读全文
posted @ 2021-11-12 22:34 大奥特曼打小怪兽 阅读(659) 评论(2) 推荐(1) 编辑
摘要: 在前面的文章我们已经介绍了如何自己去实现一个BootLoader,今天我们来介绍u-boot的移植,u-boot是一种通用的BootLoader。 在嵌入式Linux之uboot源码make配置编译正向分析中我们已经介绍了如何通过Source Insight打开u-boot源码,以及uboot的编译 阅读全文
posted @ 2021-10-28 23:51 大奥特曼打小怪兽 阅读(865) 评论(0) 推荐(1) 编辑
摘要: 一、BootLoader 1.1 什么是BootLoader 在系统上电后,需要一段程序来初始化: 初始化异常向量表,进入SVC模式,关中断; 关闭MMU和cache; 关闭开门狗; 初始换系统时钟; 初始化内存; 重定位,BootLoader可能大于4K,将代码从Nand Flash复制到内存中; 阅读全文
posted @ 2021-10-27 22:52 大奥特曼打小怪兽 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 一、S3C2440上的RTC 1.1 概述 RTC,英文全称Real Time Clock,中文就是实时时钟,是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电。 RTC可以通过使用STRB/LDRB ARM操 阅读全文
posted @ 2021-10-26 19:54 大奥特曼打小怪兽 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 在通信协议-SPI小节,我们已经对SPI协议进行了详细的介绍,这里就不在重复赘述。 一、S3C2440上的SPI 1.1 SPI概述 SPI的使用位于S3C2440芯片手册的第23章。S3C2440包含了2个SPI,每个SPI都有2个分别分别用于发送和接收的8位串行移位寄存器。 一个SPI时钟周期, 阅读全文
posted @ 2021-10-26 19:53 大奥特曼打小怪兽 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 一、linux中的内存管理 1.1 虚拟内存的引出 我们都知道linux是一个多进程的操作系统,既然是多进程操作系统,那就会存在一个问题。 假设我们有两个进程A和B、并且A和B都是直接访问的物理地址,如果程序A使用了物理地址0x40000,B程序并不知道程序A使用了物理地址0x40000,B程序修改 阅读全文
posted @ 2021-10-26 19:53 大奥特曼打小怪兽 阅读(329) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 35 下一页
如果有任何技术小问题,欢迎大家交流沟通,共同进步