1. 程式人生 > >uboot中為什麼設定CPU為SVC模式????????

uboot中為什麼設定CPU為SVC模式????????

在看Uboot的start.S檔案時候,發現其最開始初始化系統,是將CPU設定為SVC模式,但是S3C2440的CPU的core是ARM920T,其有7種模式,為何非要設定為SVC模式,而不是設定為其他模式呢?
首先,先要了解ARM的CPU的7種模式是哪些:
http://wenku.baidu.com/view/eafa0ad2c1c708a1284a44a4.html

使用者usr模式: CPU模式可以設定CPU為使用者usr模式,但是由於此模式不可以直接訪問板子的硬體資源,而uboot初始化,必須要去訪問此類資源,所以不可以設定為usr模式。

svc模式屬於特權模式,可以訪問所有硬體受控資源。相對於其他的模式,SVC模式可以訪問的資源更多。

uboot作用,其要做的事情是初始化系統相關硬體資源,需要獲取儘量多的許可權,以方便操作硬體,初始化硬體。

還有就是http://www.arm.linux.org.uk/developer/booting.php規定必須設定為SVC模式。

相關推薦

uboot為什麼設定CPUSVC模式????????

在看Uboot的start.S檔案時候,發現其最開始初始化系統,是將CPU設定為SVC模式,但是S3C2440的CPU的core是ARM920T,其有7種模式,為何非要設定為SVC模式,而不是設定為其他模式呢? 首先,先要了解ARM的CPU的7種模式是哪些: http://

uboot初始化為什麼要設定CPUSVC模式

第一:uboot初始化時,要對系統硬體資源進行初始化,就要獲取儘量多的許可權,以便操作硬體,對硬體進行初始化,從這個角度來說,設定為SVC模式,更有利於工作的開展。 第二:uboot是一種bootloader,目的是為了引導linux的Kernel,在進入Kernel之

Jupyter notebook設定KernelPython2和Python3

問題說明 如下圖,在kernel中新增選擇python3或者python2的kernel。 增添python kernel最主要的設定命令 例如,要新增python3的kernel,在Windows下cmd中設定: C:\mycode>

Ubuntu 18.0 設定python3預設環境

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/

android對話方塊程式碼設定背景透明

<span style="font-size:18px;">//建立背景透明的對話方塊 AlertDialog.THEME_HOLO_LIGHT AlertDialog.Builder b = new AlertDialog.Builder(myContex

WPF設定PasswordBox空,背景文字提示

    繼上篇部落格textbox為空時,背景為文字提示,關於密碼框水印就不同於文字框了,可以寫個Brush就搞定,因為密碼框是沒有可以用於判斷輸入非空的依賴屬性的, 下面就說一下實現過程 1、新建一個類:PasswordBoxHelper.cs <span sty

在Activity設定元件整個螢幕的1/3

//獲取螢幕的1/3寬度 Display display = getWindow().getWindowManager().getDefaultDisplay();//獲得整個螢幕 DisplayMetrics out

WPF設定TEXTBOX多行文字輸入框

WPF中沒有textarea的東西,不像在ASP.NET中設定textbox那樣設定一個多行屬性就可以變成文字域,雖然可以使用ricktextbox實現多行文字輸入,但是richtextbox比較複雜,面對簡單的多行文字輸入的時候太麻煩了點,但是WPF的textbox依然可

bodyParser.urlencoded 設定 extended true 和 false 有什麼區別

<span style="color:#333333">bodyParser.urlencoded 用來解析 request 中 body的 urlencoded字元, 只支援utf-8

設定tiny6410的svc模式

要設定使用者工作在svc模式,是通過程式狀態暫存器來設定的, 程式狀態暫存器有cpsr跟spsr,設定工作模式主要是設定cpsr,由手冊可知,要設定svc模式,只要設定cpsr的M位為10011即可。 設定思路可以分為兩步,第一步把這五位全部清零,第二步,根據位置置一。 然

uboot make xxx_config 的作用(以make smdk2410_config例)

mdk nbsp xxx cpu clu samsung uboot 作用 頭文件 1、創建到目標板相關文件的鏈接 ln -s asm-arm asm ln -s arch-s3c24x0 asm-arm/arch ln -s proc-armv asm-arm/pr

(原創)EasyUIdatagrid的行編輯模式,找到特定的Editor,並其添加事件

detail left order func cell options ble spa add 有時候在行編輯的時候,一個編輯框的值要根據其它編輯框的值進行變化,那麽可以通過在開啟編輯時,找到特定的Editor,為其添加事件 // 綁定事件, index為當前編輯行 v

頁面設定IE瀏覽器的文件模式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Atitit Spring事務配置不起作用可能出現的問題: .是否是資料庫引擎設定不對造成的【筆者就遇到了這個問題,由於筆者使用的是mysql資料,但是在建立表的時候引擎預設(mysql引擎預設

Atitit Spring事務配置不起作用可能出現的問題:   .是否是資料庫引擎設定不對造成的【筆者就遇到了這個問題,由於筆者使用的是mysql資料,但是在建立表的時候引擎預設(mysql中引擎預設為MyISAM,是不支援事務操作的),需要修改為InnoDB,就可以支援事務操作了

Django設定時區TIME_ZONE = 'Asia/Shanghai' USE_TZ = True後,存入mysql的時間只能是UTC時間?

因為Mysql儲存的時間不能靈活設定時區,不像datetime物件有一項引數專門指定時區,所以為了統一全球的時間,必須使用國際標準時間UTC,否則就會亂套。所有時間在存如資料庫前,必須轉換成UTC時間。比如北京時間8點,存入mysql變成0點(UTC)。 官方文件,https://docs.dja

Pycharm設定預設字元編碼 utf-8

呃...又來水一篇 為什麼要預設使用utf-8編碼 為了避免亂碼問題,我們統一用utf-8編碼。由於Python原始碼也是一個文字檔案,所以當你的原始碼包含中文的時候,在儲存原始碼的時候就務必指定儲存為UTF-8編碼。為了讓Python直譯器讀取原始碼的時候,能夠按utf-8編碼讀取,我

echartsy軸刻度設定顯示整數

yAxis: [ { type: 'value', name: '銷量', // min: 0, // max: 250, // interval: 10, //間隔 minInterval: 1, /

antd DatePicker,RangePicker設定中文

預設的是英文的: 一箇中文的專案,用這個感覺很不搭,就把改成中文的。 更改後的: 需要設定國際化: 區域性設定: 在需要使用到RangePicker的元件的地方引入: import { LocaleProvider } from 'antd'; impo

linux 設定網路模式NAT 設定固定靜態ip地址

前提 本人使用的環境 · Red Hat Enterprise Linux Server release 7.4 (Maipo) (命令 cat /etc/redhat-release ) 檢視宿主機上的VMnet8的ip地址(這

mybaits設定的返回值型別boolean型別,當查詢的結果大於1時返回True而不是false

在Mybatis專案中,遇到一個需要返回布林值來確定某條記錄是否存在的需求。由於查詢的結果可能是0、1或者>1,就想確認一下,當resultType為boolean型別時,Mybatis是怎麼轉換的。查詢了一下部落格,一些部落格說:當記錄數行數是1時返回true,行數為