龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 6079|回复: 5

【PMON 研究】【03】PMON 代码执行流程

[复制链接]

57

主题

83

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10412
发表于 2017-1-21 18:13:17 | 显示全部楼层 |阅读模式
心映真的空间
苦心励志 技术强国
让我们面对现实 让我们忠于理想
欢迎来到唐刚的首页

PMON 代码执行流程                        
龙芯相关 » PMON 研究 » PMON 代码执行流程                        
PMON 代码执行流程如下图所示

当整个板子起电后,CPU将从 0xBFC00000 取指令开始执行,而ROM在系统中的地址就是从该地址开始的。所以,其中的第一条指令就是整个过程中 CPU 要执行的第一个指令。
  • 初始化CPU内的寄存器,清TLB.
  • 初始化一些北桥的基本配置,以确保uart能够正常工作.
  • 初始化uart,主要是设置波特率.
  • 初始化内存(主要通过I2C协议从内存的EEPROM读取内存参数来进行设置).
  • 初始化cache.
  • 拷贝pmon的代码到内存,然后通过


  1. la      v0, initmips
  2. jalr    v0
  3. nop
复制代码

从此代码便到内存中间去了,从这开始因为可以读写内存,所以有了栈,故可以用C的代码了,所以以后的程序便是C代码了.
                    

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
=====================================
这是一条神奇的小尾巴~~~~~

2

主题

9

帖子

1428

积分

金牌会员

Rank: 6Rank: 6

积分
1428
发表于 2017-4-6 15:26:03 | 显示全部楼层
咨询下楼主,像龙芯1C这样的CPU,CPU上电复位的时候从存储PMON的SPI-FLash中直接寻址。这时,CPU会从SPI-Flash中拷贝多少数据到内存呢?

57

主题

83

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10412
 楼主| 发表于 2017-4-6 15:46:31 | 显示全部楼层
帖子是转的,你的问题很抱歉,我无法回答。
=====================================
这是一条神奇的小尾巴~~~~~

2

主题

9

帖子

1428

积分

金牌会员

Rank: 6Rank: 6

积分
1428
发表于 2017-4-6 16:32:51 | 显示全部楼层
一起研究下呗,我感觉龙芯的资料还不够清晰。不像三星2440那样很明确的告诉你,是拷贝4K数据。

57

主题

83

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10412
 楼主| 发表于 2017-4-6 21:36:49 | 显示全部楼层
PMON也需要更多人的关注。
=====================================
这是一条神奇的小尾巴~~~~~

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2017-4-7 10:21:45 | 显示全部楼层
yzwguet 发表于 2017-4-6 15:26
咨询下楼主,像龙芯1C这样的CPU,CPU上电复位的时候从存储PMON的SPI-FLash中直接寻址。这时,CPU会从SPI-Fla ...

参考帖子 http://www.openloongson.org/foru ... page%3D1&page=2
的17,18,19,20楼,在初始化sdram后,就拷贝nor flash中的到内存了。


pmon源码
Targets\LS1X\ls1x\tgt_machdep.c中,函数tgt_mapenv()
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-12-1 03:59 , Processed in 0.147728 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表