请问硬件原理图如何分析,获取每个芯片各自的基地址和地址空间。

matchchen 2011-09-14 11:00:57
《Linux设备驱动开发详解》2.5节 原理图分析中提到:
“通过分析片选得出芯片的内存、I/O基地址”
说这个对驱动开发意义很重大,但书中只是一带而过,有哪位大侠能详细讲解一下,最好举例说明,不胜感谢!
...全文
364 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
matchchen 2011-09-19
  • 打赏
  • 举报
回复
嗯,就这样吧。结贴
半字节 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 matchchen 的回复:]

查了一下处理器MT6225的data sheet,上面确实有memory layout.不是在我理解的PCB硬件原理图中。

对驱动这块不熟悉,看了还有两个问题:

一是 CPU的地址总线只有EA1-EA25共25条。为何External Memory的地址空间从0x0-0x3FFFFFFF,有EA[0:25] Address Space,多出一个地址线?是否ECS0#-ECS2#三条线……
[/Quote]

我没看手册啊 只能给你瞎猜
地址空间从0x0-0x3FFFFFFF 如果是线性寻址,我怎么感觉需要30条地址线呢?
另外地址总线只有EA1-EA25 你确定没看花眼漏掉了EA0?

你的第二个问题倒是可以回答,保存函数参数和返回值的栈空间应该是在哪一块。
一般而言这个是由操作系统分配的,栈空间一般在内存的最高端(注意是一般)
详细点讲的话,一般系统启动,开始用汇编写启动代码会分配一些内存空间用来当作栈,之后就可以调用C
语言函数。随后操作系统加载并启动,可能会舍弃这些栈,也可能会继续使用。如果操作系统启动完成后,之后的函数调用一般都是通过线程,每个线程应该都有自己的栈的。(当然也存在共用栈的情况 - -)这是操作系统在内存分配的。
xengine-qyt 2011-09-17
  • 打赏
  • 举报
回复
没学模拟电路是看不懂的!!!
xqhrs232 2011-09-17
  • 打赏
  • 举报
回复
看接到CPU的那个地址空间里面去
matchchen 2011-09-15
  • 打赏
  • 举报
回复
查了一下处理器MT6225的data sheet,上面确实有memory layout.不是在我理解的PCB硬件原理图中。

对驱动这块不熟悉,看了还有两个问题:

一是 CPU的地址总线只有EA1-EA25共25条。为何External Memory的地址空间从0x0-0x3FFFFFFF,有EA[0:25] Address Space,多出一个地址线?是否ECS0#-ECS2#三条线。但这不是多出三条线了吗

二是 操作系统维护的,保存函数参数和返回值的栈空间应该是在哪一块?
帅得不敢出门 2011-09-15
  • 打赏
  • 举报
回复
一般datasheet中有描述的.
充电宝111 2011-09-15
  • 打赏
  • 举报
回复
看CPU的datasheet

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧