jz2440嵌入式裸机
卓越攻城狮
卓越班传帮带
展开
-
jz2440学习笔记——uart串口通信
jz2440学习笔记——uart串口通信uart工作原理流程:1.jz2440和pc机约定好传输的格式,如:波特率、数据位、校验位、开始位、结束位。2.jz2440通过TXD引脚逐位发送数据到pc端的RXD引脚。过程:jz2440初始为高电平,当其变为低电平时表示准备发送数据,此即开始位;之后jz2440从移位寄存器中逐位读出数据发送给pc机;发送完数据后,若有校验位则发送校验位,若无校验位...原创 2019-03-09 00:10:35 · 404 阅读 · 0 评论 -
s3c2440笔记——内存控制器
声明:本博文仅供作者日常记录所用,若有错误,欢迎指明错误之处来进行斧正,若是杠精无理取闹,请自己滚去找厕所吃屎。—————————————————————————————————————对内存控制器的学习,主要理解一张图和几个寄存器即可。图这是s3c2440的内存编址映射,地址从0x00000000到0x40000000。一共1G空间,分成了8份,每份128MB,虽然每份分了128MB,...原创 2019-06-17 17:35:24 · 266 阅读 · 0 评论 -
s3c2440学习笔记——CPU工作模式和异常处理
以我的s3c2440为基础,分析arm9下CPU的工作模式和异常处理。CPU有7种工作模式:● 用户模式(user 模式),运行应用的普通模式● 快速中断模式(fiq 模式),用于支持数据传输或通道处理● 中断模式(irq 模式),用于普通中断处理● 超级用户模式(svc 模式),操作系统的保护模式● 异常中断模式(abt 模式),输入数据后登入或预取异常中断指令● 系统模式(sys...原创 2019-06-20 17:21:23 · 437 阅读 · 0 评论 -
jz2440学习笔记———代码重定位相关
实验引导:在main函数中引入全局变量a时,若将连接后的文件烧写在nand flash上,则可以访问修改全局变量a,若将连接后的文件烧写在nor flash上,则只可访问a,不能修改a。这是由于烧写在nand flash 上的代码会被加载到4K的片内内存SRAM上,全局变量a放在内存里是可读可写的;但将代码烧写在nor flash上时,cpu可以直接通过内存控制器来访问nor flash,然而全...原创 2019-03-10 09:36:09 · 275 阅读 · 0 评论 -
jz2440学习笔记——自己动手写printf函数
这部分是和jz2440的uart串口通信想关联的一个实验。看完视屏、结合网上的博客,总结以下知识点。1.printf函数原型:int printf(const char format, …);const charformat 是个静态字符串常量,…是可变参数。可变参数不限个数、类型。2.调用printf函数时,format及可变参数被顺序保存在栈中,因此在已知format变量的地址时,可以通...原创 2019-03-09 00:10:57 · 366 阅读 · 0 评论 -
s3c2440学习笔记——重定位和链接脚本
声明:本博文仅供作者日常学习记录所用,如有错误请指明并说明原因,若能添加正确解答感激不尽。—————————————————————————————————————今天温习了韦老师有关代码重定位的视频,小结一下所得。什么是重定位?通俗地讲,就是将代码复制一份到其他地方。以我的jz2440为例,假设开发板为nor启动(板载nor flash有2M大小且地址是从0x0000_0000开始),...原创 2019-06-18 15:14:57 · 235 阅读 · 0 评论