如何读emmc里的引导程序_自制操作系统学习1 引导程序
起因
自制操作系统系列的第一课:加电之后 CPU 到底做了什么、怎么让它跑起我们自己的程序。这条链路的第一棒就是引导程序(boot sector)。
本系列学习有前面的汇编学习基础最好,如果没有影响也不大本系列学习主要资源来自《[30天自制操作系统].(川合秀实)》,《自己动手写操作系统》两本书
自制操作系统系列的第一课:加电之后 CPU 到底做了什么、怎么让它跑起我们自己的程序。这条链路的第一棒就是引导程序(boot sector)。
本系列学习有前面的汇编学习基础最好,如果没有影响也不大本系列学习主要资源来自《[30天自制操作系统].(川合秀实)》,《自己动手写操作系统》两本书
备注:工具是nxp官方释放出来的,可以到链接下载:http://download.csdn.net/download/armwind/10103643
最近在研究emwin字体显示部分,但由于无法看到源码,也不知道emwin是如何实现的。也算是看葫芦画瓢,记录下字库制作过程。
问题的关键:
不能再头文件中定义任何变量.
查找所有头文件
只能定义以下内容:
函数原型
const定义的常量
结构声明
类申明
模板声明
内联函数
枚举定义
看这篇文章之前建议先了解一些FC的基础知识,如Mapper/MMC/PCB/PRG/CHR等等,网上关于这些概念的文档多不胜数,在这里就不一一介绍了,各位可以自行搜索。
具备一定的基础知识之后,接下来要开始真正的改造了。FC卡带的改造比较锻炼动手能力和耐心,技艺会随着改造的深入而不断提高,所以刚开始要好一些心理准备,比如焊坏板子、摔坏芯片、接错线等等。当然最最重要的是工欲善其事必先利其器,先配齐一套基础工具是必须的……
一、QNX Momentics IDE 项目设置
1、导入项目
File > Import > General > Existing Projects into Workspace > Select root directory.
2、目标平台设置
项目属性:Properties > QNX C/C++ Project > Build Variants.
可以选择ARM和x86两种不同的平台,其中x86平台是小端序(Littel Endia).
3、导出库设置
项目属性:Properties > QNX C/C++ Project > Library.
可以选择导入为静态库,共享库,或其他类型的导出库文件.
4、编译环境设置
项目属性:Properties > QNX C/C++ Project > Compiler.
在Category栏可以设置General options, Extra include paths和Extra souce paths.
General options > Output options > Warning level:设置编译器警告等级;
General options > Code generation > Optimization level:代码产生优化级别;
Extra include paths : 外部包含头文件;
Extra souce paths : 外部包含源文件。
5、链接库文件
项目属性:Properties > QNX C/C++ Project > Linker.
在Category栏选择Extra libraries,有三种添加库文件的方法:
Add:手动添加库文件;
Project:从工程项目中选择库文件(一般使用这个方法导入同一个工作目录下的库文件);
QNX target:导入目标系统的库文件(用于将开发系统上的库文件部署到目标系统)。
设置项目的链接库以后还需按照【4、编译环境设置】的步骤包含库文件的头文件。
6、项目依赖
项目属性:Properties > Project Reference 设置项目依赖。
勾选关联项目后,编译构建当前项目前会先编译构建勾选的项目;
如果项目较多,构建过程会耗时很长,建议在项目的后期全部编译的时候再勾选。
7、项目调试
QNX分别有Run Configuration和Debug Configuration两个不同的设置,参数都类似。
这里介绍使用QConn连接目标系统的调试方法:
打开 Run > Debug Configuration > C/C++ QNX QConn (IP):
1、点击右键选择新建一个调试配置;
2、默认情况下Main > C++ Applicaiton和Project已经包含有当前项目,没有的话就添加上;
3、拉动滚动条到Main > Target Options > Add New Target添加一个新的远程目标系统;
4、Arguments设置应用程序启动时的参数;
5、Enviroment添加运行时的环境变量;
6、Upload > Excutable有两个选项,第一个是将本地生成的程序上载到目标系统的指定目录后进行调试,第二个是运行指定目标系统上的程序进行调试,Remote Directory用来指定要上载到目标系统的路径;
如果目标系统连接成功,参数设置正确,就不会有红色标记,此时就可以选择debug开始调试了。
二、开发环境设置
1、偏好设置
打开Window > Preference,可以设置IDE的各种自定义偏好。
使用qnx660及7.0以后,其screen使用的是opengl,可以再使用QT,crank,kanzi开发3D UI界面
使用qnx650或qnx650以下的,qnx的老架构放哪,photo GUI,qnx已不支持此老架构方案
csv文件实现' author: 软件开发大郭 type: post date: 2021-12-31T10:13:54+00:00 url: /2021/12/285.html
views:
PC:
win7X64
vs2013/codeblocks
微软自带的微软雅黑字体
emwin 相关:
emwin5.42模拟器
emwin5.42英文手册
Bin2C.exe
FontCvt.exe
EMWIN 自定义按键皮肤
|
|
因为默认创建的都是3D模式,所以直接调用BUTTON_SetBkColor() 是没有作用的,先要设置为经典模式
PC:
win7X64
vs2013/codeblocks
微软自带的微软雅黑字体
emwin 相关:
emwin5.42模拟器
emwin5.42英文手册
Bin2C.exe
FontCvt.exe
excel中的内容:

①新建txt文件,另存为utf-8格式; ②复制excel中的内容到txt中,将 制表符 替换为 英文的逗号 ,并保存 ; ③将txt文件更改后缀名为 csv;