摘要: visual studio的属性页用于工程的配置,可以在其中调节优化等级,warning等级以及头文件的位置,包括动态库和静态库的制作也需要配置属性页: 1.右键单击工程,选择最下方的属性。 2.配置管理器可以去配置工程是debug还是release模式,以及平台位数,64位系统下可以兼容32位。  阅读全文
posted @ 2022-01-29 16:56 一只吃水饺的胡桃夹子 阅读(2249) 评论(1) 推荐(1) 编辑
摘要: 一个C++工程通常会包含头文件 <iostream> using namespace std; 告诉编译器使用 std 命名空间 由于C语言和C++有不少共同点,目前就只有面对对象部分值得记录: 用class修饰符创建一个类: class 类名 { public/private/protected 阅读全文
posted @ 2022-01-29 15:17 一只吃水饺的胡桃夹子 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 代码在O1优化等级下编译。 有一行代码如下: while(!test_start); test_start是一个全局变量,初始值为0。某个线程会令该变量值为1,结束循环,但运行时并没有结束循环。 于是开始进行调试,发现test_start确实已经是1了,但该行代码却一直在循环中,于是查看了一下汇编代 阅读全文
posted @ 2022-01-20 20:05 一只吃水饺的胡桃夹子 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 一、创建工程 1.创建新项目 2.创建空项目 3.输入工程名和路径,创建工程 4.新建文件 5.选中左侧Visual C++,选择C++文件并打开,如果想创建c语言文件,将创建完的文件的后缀改为.c: 6.右键单击右侧筛选器(源文件),可添加新建项和现有项: 阅读全文
posted @ 2022-01-17 18:54 一只吃水饺的胡桃夹子 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 问题1: 自动生成的代码中,rt_hw_board_init()函数中会调用SystemClock_Config()函数进行系统时钟初始化,main函数中也会调用此函数进行初始化,这样会导致在进行第二次初始化时,初始化失败进入死循环。所以需要删除其中一个初始化。 问题2:rt_thread_crea 阅读全文
posted @ 2022-01-04 18:15 一只吃水饺的胡桃夹子 阅读(516) 评论(0) 推荐(0) 编辑
摘要: cubemx使用教程可参考以下链接:https://blog.csdn.net/ybhuangfugui/article/details/94363006 1.新建工程,选择目标板 STM32F207ZGTx ,下图是已经选择好的截图,如果没有选择的话,MCUs/MPUs会有许多选项,选择自己板子的 阅读全文
posted @ 2022-01-04 15:26 一只吃水饺的胡桃夹子 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 在机器加电后, BIOS 会进行自检,然后由 BIOS 加载引导设备中的引导扇区。Linux系统下下,引导扇区通常是安装 GRUB 的一小段程序。最后 GRUB 会加载Linux 的内核映像 vmlinuz: 1 BIOS 到 GRUB Linux通常是从硬盘中启动的,硬盘上第一个扇区(每个扇区 5 阅读全文
posted @ 2021-11-26 16:55 一只吃水饺的胡桃夹子 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 板级初始化即 hal 层(硬件抽象层)初始化,其中执行了平台初始化,hal层的内存初始化,中断初始化,最后是内核层初始化。 1 hal_start.c 该文件中只有这一个函数,调用函数用于初始化hal层和内核层: 2 hal 层初始化 为了分离硬件的特性,设计了hal层,把硬件相关的操作集中在这个层 阅读全文
posted @ 2021-11-24 12:52 一只吃水饺的胡桃夹子 阅读(170) 评论(0) 推荐(0) 编辑
摘要: linux-0.11 的最开始的代码是启动区代码,放在 bootsect.s 文件中。 //代码用到的宏 BOOTSEG = 0x07c0; original address of boot-sector INITSEG = 0x9000; we move boot here - out of th 阅读全文
posted @ 2021-11-23 17:36 一只吃水饺的胡桃夹子 阅读(82) 评论(0) 推荐(0) 编辑
摘要: Linux 源码有以下这些主线,但是还没想好从哪条主线入手: ——linux内核启动过程 ——linux驱动架构 ——linux网络子系统 ——linux内存管理机制 ——linux任务调度器 ——linux进程管理 ——linux虚拟机制(kvm) ——linux内核实时化技术 参考链接: 闪客L 阅读全文
posted @ 2021-11-23 15:54 一只吃水饺的胡桃夹子 阅读(42) 评论(0) 推荐(0) 编辑