亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readme.post

?? uboot詳細解讀可用啟動引導LINUX2.6內核
?? POST
?? 第 1 頁 / 共 2 頁
字號:
Power-On-Self-Test support in U-Boot------------------------------------This project is to support Power-On-Self-Test (POST) in U-Boot.1. High-level requirementsThe key requirements for this project are as follows:1) The project shall develop a flexible framework for implementing   and running Power-On-Self-Test in U-Boot. This framework shall   possess the following features:   o) Extensibility      The framework shall allow adding/removing/replacing POST tests.      Also, standalone POST tests shall be supported.   o) Configurability      The framework shall allow run-time configuration of the lists      of tests running on normal/power-fail booting.   o) Controllability      The framework shall support manual running of the POST tests.2) The results of tests shall be saved so that it will be possible to   retrieve them from Linux.3) The following POST tests shall be developed for MPC823E-based   boards:   o) CPU test   o) Cache test   o) Memory test   o) Ethernet test   o) Serial channels test   o) Watchdog timer test   o) RTC test   o) I2C test   o) SPI test   o) USB test4) The LWMON board shall be used for reference.2. DesignThis section details the key points of the design for the project.The whole project can be divided into two independent tasks:enhancing U-Boot/Linux to provide a common framework for running POSTtests and developing such tests for particular hardware.2.1. Hardware-independent POST layerA new optional module will be added to U-Boot, which will run POSTtests and collect their results at boot time. Also, U-Boot willsupport running POST tests manually at any time by executing aspecial command from the system console.The list of available POST tests will be configured at U-Boot buildtime. The POST layer will allow the developer to add any custom POSTtests. All POST tests will be divided into the following groups:  1) Tests running on power-on booting only     This group will contain those tests that run only once on     power-on reset (e.g. watchdog test)  2) Tests running on normal booting only     This group will contain those tests that do not take much     time and can be run on the regular basis (e.g. CPU test)  3) Tests running in special "slow test mode" only     This group will contain POST tests that consume much time     and cannot be run regularly (e.g. strong memory test, I2C test)  4) Manually executed tests     This group will contain those tests that can be run manually.If necessary, some tests may belong to several groups simultaneously.For example, SDRAM test may run in both normal and "slow test" mode.In normal mode, SDRAM test may perform a fast superficial memory testonly, while running in slow test mode it may perform a full memorycheck-up.Also, all tests will be discriminated by the moment they run at.Specifically, the following groups will be singled out:  1) Tests running before relocating to RAM     These tests will run immediately after initializing RAM     as to enable modifying it without taking care of its     contents. Basically, this group will contain memory tests     only.  2) Tests running after relocating to RAM     These tests will run immediately before entering the main     loop as to guarantee full hardware initialization.The POST layer will also distinguish a special group of tests thatmay cause system rebooting (e.g. watchdog test). For such tests, thelayer will automatically detect rebooting and will notify the testabout it.2.1.1. POST layer interfacesThis section details the interfaces between the POST layer and therest of U-Boot.The following flags will be defined:#define POST_POWERON		0x01	/* test runs on power-on booting */#define POST_NORMAL		0x02	/* test runs on normal booting */#define POST_SLOWTEST		0x04	/* test is slow, enabled by key press */#define POST_POWERTEST		0x08	/* test runs after watchdog reset */#define POST_ROM		0x100	/* test runs in ROM */#define POST_RAM		0x200	/* test runs in RAM */#define POST_MANUAL		0x400	/* test can be executed manually */#define POST_REBOOT		0x800	/* test may cause rebooting */#define POST_PREREL             0x1000  /* test runs before relocation */The POST layer will export the following interface routines:  o) int post_run(bd_t *bd, char *name, int flags);     This routine will run the test (or the group of tests) specified     by the name and flag arguments. More specifically, if the name     argument is not NULL, the test with this name will be performed,     otherwise all tests running in ROM/RAM (depending on the flag     argument) will be executed. This routine will be called at least     twice with name set to NULL, once from board_init_f() and once     from board_init_r(). The flags argument will also specify the     mode the test is executed in (power-on, normal, power-fail,     manual).  o) void post_reloc(ulong offset);     This routine will be called from board_init_r() and will     relocate the POST test table.  o) int post_info(char *name);     This routine will print the list of all POST tests that can be     executed manually if name is NULL, and the description of a     particular test if name is not NULL.  o) int post_log(char *format, ...);     This routine will be called from POST tests to log their     results. Basically, this routine will print the results to     stderr. The format of the arguments and the return value     will be identical to the printf() routine.Also, the following board-specific routines will be called from theU-Boot common code:  o) int board_power_mode(void)     This routine will return the mode the system is running in     (POST_POWERON, POST_NORMAL or POST_SHUTDOWN).  o) void board_poweroff(void)     This routine will turn off the power supply of the board. It     will be called on power-fail booting after running all POST     tests.  o) int post_hotkeys_pressed(gd_t *gd)     This routine will scan the keyboard to detect if a magic key     combination has been pressed, or otherwise detect if the     power-on long-running tests shall be executed or not ("normal"     versus "slow" test mode).The list of available POST tests be kept in the post_tests arrayfilled at U-Boot build time. The format of entry in this array willbe as follows:struct post_test {    char *name;    char *cmd;    char *desc;    int flags;    int (*test)(bd_t *bd, int flags);};  o) name     This field will contain a short name of the test, which will be     used in logs and on listing POST tests (e.g. CPU test).  o) cmd     This field will keep a name for identifying the test on manual     testing (e.g. cpu). For more information, refer to section     "Command line interface".  o) desc     This field will contain a detailed description of the test,     which will be printed on user request. For more information, see     section "Command line interface".  o) flags     This field will contain a combination of the bit flags described     above, which will specify the mode the test is running in     (power-on, normal, power-fail or manual mode), the moment it     should be run at (before or after relocating to RAM), whether it     can cause system rebooting or not.  o) test     This field will contain a pointer to the routine that will     perform the test, which will take 2 arguments. The first     argument will be a pointer to the board info structure, while     the second will be a combination of bit flags specifying the     mode the test is running in (POST_POWERON, POST_NORMAL,     POST_SLOWTEST, POST_MANUAL) and whether the last execution of     the test caused system rebooting (POST_REBOOT). The routine will     return 0 on successful execution of the test, and 1 if the test     failed.The lists of the POST tests that should be run at power-on/normal/power-fail booting will be kept in the environment. Namely, thefollowing environment variables will be used: post_poweron,powet_normal, post_slowtest.2.1.2. Test resultsThe results of tests will be collected by the POST layer. The POSTlog will have the following format:...--------------------------------------------START <name><test-specific output>[PASSED|FAILED]--------------------------------------------...Basically, the results of tests will be printed to stderr. Thisfeature may be enhanced in future to spool the log to a serial line,save it in non-volatile RAM (NVRAM), transfer it to a dedicatedstorage server and etc.2.1.3. Integration issuesAll POST-related code will be #ifdef'ed with the CONFIG_POST macro.This macro will be defined in the config_<board>.h file for thoseboards that need POST. The CONFIG_POST macro will contain the list ofPOST tests for the board. The macro will have the format of arraycomposed of post_test structures:#define CONFIG_POST \	{		"On-board peripherals test", "board", \		"  This test performs full check-up of the " \		"on-board hardware.", \		POST_RAM | POST_SLOWTEST, \		&board_post_test \	}A new file, post.h, will be created in the include/ directory. Thisfile will contain common POST declarations and will define a set ofmacros that will be reused for defining CONFIG_POST. As an example,the following macro may be defined:#define POST_CACHE \	{		"Cache test", "cache", \		"  This test verifies the CPU cache operation.", \		POST_RAM | POST_NORMAL, \		&cache_post_test \	}A new subdirectory will be created in the U-Boot root directory. Itwill contain the source code of the POST layer and most of POSTtests. Each POST test in this directory will be placed into aseparate file (it will be needed for building standalone tests). SomePOST tests (mainly those for testing peripheral devices) will belocated in the source files of the drivers for those devices. Thisway will be used only if the test subtantially uses the driver.2.1.4. Standalone testsThe POST framework will allow to develop and run standalone tests. Auser-space library will be developed to provide the POST interfacefunctions to standalone tests.2.1.5. Command line interfaceA new command, diag, will be added to U-Boot. This command will beused for listing all available hardware tests, getting detaileddescriptions of them and running these tests.More specifically, being run without any arguments, this command willprint the list of all available hardware tests:=> diagAvailable hardware tests:  cache             - cache test  cpu               - CPU test  enet              - SCC/FCC ethernet testUse 'diag [<test1> [<test2>]] ... ' to get more info.Use 'diag run [<test1> [<test2>]] ... ' to run tests.=>If the first argument to the diag command is not 'run', detaileddescriptions of the specified tests will be printed:=> diag cpu cachecpu - CPU test  This test verifies the arithmetic logic unit of CPU.cache - cache test  This test verifies the CPU cache operation.=>If the first argument to diag is 'run', the specified tests will beexecuted. If no tests are specified, all available tests will beexecuted.It will be prohibited to execute tests running in ROM manually. The'diag' command will not display such tests and/or run them.2.1.6. Power failure handlingThe Linux kernel will be modified to detect power failures andautomatically reboot the system in such cases. It will be assumedthat the power failure causes a system interrupt.To perform correct system shutdown, the kernel will register ahandler of the power-fail IRQ on booting. Being called, the handlerwill run /sbin/reboot using the call_usermodehelper() routine./sbin/reboot will automatically bring the system down in a secureway. This feature will be configured in/out from the kernelconfiguration file.The POST layer of U-Boot will check whether the system runs inpower-fail mode. If it does, the system will be powered off afterexecuting all hardware tests.2.1.7. Hazardous testsSome tests may cause system rebooting during their execution. Forsome tests, this will indicate a failure, while for the Watchdogtest, this means successful operation of the timer.In order to support such tests, the following scheme will beimplemented. All the tests that may cause system rebooting will havethe POST_REBOOT bit flag set in the flag field of the correspondentpost_test structure. Before starting tests marked with this bit flag,the POST layer will store an identification number of the test in alocation in IMMR. On booting, the POST layer will check the value ofthis variable and if it is set will skip over the tests preceding thefailed one. On second execution of the failed test, the POST_REBOOTbit flag will be set in the flag argument to the test routine. Thiswill allow to detect system rebooting on the previous iteration. Forexample, the watchdog timer test may have the followingdeclaration/body:...#define POST_WATCHDOG \	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av中文字幕一区二区三区| 91在线一区二区三区| 国产精品美女久久久久久久| 欧美日韩另类国产亚洲欧美一级| 国内精品第一页| 一区二区三区不卡视频在线观看| 欧美tickling挠脚心丨vk| 99久精品国产| 加勒比av一区二区| 亚洲国产精品影院| 亚洲欧洲日韩在线| 日韩天堂在线观看| 欧美亚日韩国产aⅴ精品中极品| 国产69精品久久99不卡| 麻豆一区二区99久久久久| 亚洲国产成人av网| 综合电影一区二区三区| 亚洲精品在线免费播放| 欧美日韩国产系列| 色久综合一二码| 成人美女视频在线看| 激情五月婷婷综合网| 手机精品视频在线观看| 亚洲美女精品一区| 国产精品久久久久久久久快鸭| 日韩欧美成人一区二区| 欧美日韩国产小视频| 91官网在线观看| 色综合久久九月婷婷色综合| 国产成人亚洲综合a∨婷婷| 九九国产精品视频| 久久国产人妖系列| 日本伊人精品一区二区三区观看方式 | 一级女性全黄久久生活片免费| 久久久久久**毛片大全| 欧美va日韩va| 精品国产91洋老外米糕| 日韩欧美一区在线| 欧美精品久久天天躁| 精品视频一区二区三区免费| 欧美日韩一区在线观看| 欧美日韩精品三区| 欧美日韩午夜在线| 在线成人免费视频| 欧美精品亚洲二区| 欧美精品777| 日韩一区二区三区在线观看| 欧美一区二区三区小说| 91精品国产品国语在线不卡| 欧美一区二区三区四区视频| 欧美一级理论性理论a| 日韩欧美高清一区| 久久女同性恋中文字幕| 国产欧美一区二区精品性| 欧美高清在线视频| 1区2区3区国产精品| 伊人开心综合网| 偷拍与自拍一区| 奇米在线7777在线精品| 精品一区二区三区在线播放| 国产经典欧美精品| www.亚洲激情.com| 色8久久精品久久久久久蜜| 欧洲亚洲精品在线| 欧美一区二区三区免费| 精品国产青草久久久久福利| 国产欧美一区二区在线| 亚洲乱码日产精品bd| 午夜电影网亚洲视频| 久久成人免费网| 成人app在线观看| 欧美猛男男办公室激情| 精品精品欲导航| 国产精品免费av| 天天综合天天做天天综合| 国产一区二区在线观看免费| 99re视频精品| 日韩欧美久久久| 亚洲天堂网中文字| 日韩精品一二三| 成人久久18免费网站麻豆| 欧美日韩免费高清一区色橹橹| 精品动漫一区二区三区在线观看| 国产精品剧情在线亚洲| 亚洲成va人在线观看| 国内成人免费视频| 欧美视频第二页| 久久久三级国产网站| 一区二区三区四区蜜桃| 久久国产成人午夜av影院| 色综合天天综合色综合av| 欧美精品久久久久久久久老牛影院| 中文字幕国产一区| 午夜精品一区二区三区免费视频| 国产91精品欧美| 欧美一级日韩不卡播放免费| 国产精品第一页第二页第三页 | 成人黄色一级视频| 欧美一二三区在线| 亚洲美女视频一区| 成人综合婷婷国产精品久久免费| 在线不卡中文字幕播放| 一区精品在线播放| 国产乱子伦一区二区三区国色天香| 日本精品一级二级| 中文字幕欧美日韩一区| 理论电影国产精品| 欧美午夜电影一区| 亚洲精品一卡二卡| 成人免费高清在线观看| 精品国产自在久精品国产| 婷婷六月综合亚洲| 欧美三级电影精品| 依依成人精品视频| a级精品国产片在线观看| 日韩精品一区二| 天天操天天色综合| 欧美性色黄大片| 亚洲欧洲成人av每日更新| 久久er99热精品一区二区| 欧美猛男男办公室激情| 亚洲综合图片区| 91丨porny丨首页| 国产精品区一区二区三区| 国产美女精品在线| 欧美成人三级在线| 裸体歌舞表演一区二区| 欧美精品电影在线播放| 亚洲成人av在线电影| 欧美日韩视频在线观看一区二区三区 | 日韩美女在线视频 | 国产精品99久久久久久久女警| 欧美成人伊人久久综合网| 日韩av在线发布| 欧美精品久久久久久久久老牛影院| 亚洲高清三级视频| 欧美日韩久久一区| 亚洲va在线va天堂| 3751色影院一区二区三区| 亚洲高清免费在线| 56国语精品自产拍在线观看| 日韩成人一区二区| 日韩一区国产二区欧美三区| 精品影视av免费| 久久亚洲春色中文字幕久久久| 国产剧情在线观看一区二区| 日本一区二区免费在线观看视频 | 成人性生交大片免费| 国产精品久久久久一区二区三区 | 在线观看免费亚洲| 亚洲电影一级片| 欧美一区二区三区视频| 九色综合狠狠综合久久| 久久久精品免费免费| 高清国产一区二区三区| 亚洲视频免费在线观看| 欧洲av一区二区嗯嗯嗯啊| 亚洲成人av中文| 久久这里只有精品6| 国产夫妻精品视频| 亚洲欧美国产毛片在线| 欧美精品一二三| 国产精品自拍在线| 亚洲欧美激情小说另类| 欧美一二三四区在线| 成人小视频免费在线观看| 国产精品对白交换视频 | 99精品久久只有精品| 亚洲国产精品久久久男人的天堂| 日韩精品综合一本久道在线视频| 韩日欧美一区二区三区| 中文字幕在线一区免费| 欧美老年两性高潮| 成人免费视频免费观看| 亚洲一二三四区| 久久综合久久综合久久综合| 色美美综合视频| 精品午夜久久福利影院| 亚洲三级免费观看| 欧美zozozo| 欧美无人高清视频在线观看| 国内精品伊人久久久久av影院| 18欧美亚洲精品| 精品国产网站在线观看| 91官网在线观看| 国产一区二区福利| 亚洲一线二线三线视频| 精品久久久久一区| 91福利在线播放| 国产精品99久久久久久久女警 | 亚洲色图在线看| 欧美一区二区三区免费视频| 91视频.com| 国产一二三精品| 丝袜美腿亚洲一区| 1000部国产精品成人观看| 精品国产在天天线2019| 欧美午夜精品电影| 97精品国产露脸对白| 国产乱码精品一品二品|