自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (9)
  • 收藏
  • 关注

原创 我的第一个汇编程序的问题

题目是:输入一个字符串,统计输入的字符串中字母、数字以及其他字符各有多少个。汇编的时候没有报错,链接的时候报以下错误:Invalid keyboard code specifiedMicrosoft (R) Overlay Linker  Version 3.60Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.

2008-10-22 09:11:00 618

riscv-mini.7z

riscv-mini github 2019年7月6日下载最新源码,方便不方便上gitbub下载的地方实用

2019-07-06

notepad++ 2018年12月10日下载最新版本插件

2018年12月10日下载最新版本插件,包含: Compare_1_5_6_ANSI_dll.zip,Compare_1_5_6_UNI_dll.zip,HexEditor_0_9_5_ANSI_dll.zip,HexEditor_0_9_5_UNI_dll.zip,HTMLTag_plugin_1.0.0_64.zip,HTMLTag_plugin_v1.0.0_unicode.zip,NppGmodLuaPlugin-v1.5.zip,NppGmodLuaPlugin-v1.5-ANSI.zip,NppGmodLua-v1.5-src.zip,SearchInFiles_1_12_dll.zip,Xml Tools 2.4.9.2 x64 Unicode.zip,Xml Tools 2.4.9.2 x86 Unicode.zip

2018-12-10

MG-SOFT MIB Broswer 2018a

MG-SOFT MIB Browser Professional Edition with MIB Compiler, MIB Explorer and Visual MIB Builder for Windows. Package Version 2018a (published 28-Dec-2017)

2018-12-10

pyinstaller-3.3

pyinstaller-3.3

2017-12-13

《嵌入式Linux系统开发技术详解—基于ARM》.pdf

共十四章全的。很好的学习嵌入式开发的资料

2010-01-30

vboot源码 代码

vboot的源代码,有少量我自己添加的注释

2010-01-28

vivi源代码 bootloader源码

学嵌入式必读bootloader,vivi是一款学习中很常用的bootloader Getting started with vivi Janghoon Lyu ([email protected]) This is a short introduction about the vivi. Revision History Revision v0.1 2002-10-21 Revised by: jl Initial public release. very very short descriptions. (with foolish sentences -_-;;) ------------------------------------------------------------------------ Table of Contents 1. Introduction 1.1. Definitions 2. Compiling the vivi 2.1. Pre-Requirements 2.2. Straight-forward compilation 2.3. SA-1110-Based machines with the NOR flash 2.4. S3C2410-Based machines with the NAND flash 3. Using the vivi 3.1. Interface between an user and the vivi 3.2. Built-in user commands 3.2.1. load command 3.2.2. part command 3.2.3. param command 3.2.4. boot command 3.2.5. flash command ------------------------------------------------------------------------ 1. Introduction This document explains to you: 1) compiling the vivi 2) interface an user and the vivi 3) avaliable user commands 1.1. Definitions vivi The vivi is one of arm boot loaders. Autoboot mode The vivi has two modes. one of these is autoboot mode. This is a default mode. In this mode, The vivi automatically boot-up the linux kernel when a delay time is expired. Prompt mode One of vivi's modes is prompt mode. In this mode, An user is able to command to the vivi doing something. Host platform Generally, an engineer develop the software on the powerful destktop computer (not on the embedded machines). This descktop called host platform. Target platform Target platform means developemnt boards or embedded machines. 2. Compiling the vivi This section describes how to compile the vivi. 2.1. Pre-Requirements Here is a list of the minimum levels of software necessary to compile the vivi. * Gnu C 2.95.3 * Gnu make 3.79.1 * binutils 2.11.2 And then, your host platform are installed these tools. * You have a cross-compiler and tool-chains. * You have a Baurne-Again shell. (/bin/bash) * You have a ncurses library. 2.2. Straight-forward compilation The compiliation(configuration) environment of the vivi is simlilar to the environment of the linux kernel. So, you can do make distclean, make clean, make oldconfig , make menuconfig, and make config. General compiling sequence sequence is: 1) make distclean 2) make menuconfig 3) make Note that If you change configurations, run make clean and make. Next two sections describes compilation of two examples. 2.3. SA-1110-Based machines with the NOR flash I will take an example about the vivi compliation. I assumed that a target platform's core block is composed like this: * CPU: SA-1110 processor * ROM: 32MB Intel Strata Flash (32-bit wide) * RAM: 32MB DRAM These features make sense to you. Many platforms I have met is designed core block like above. For instance, KINGS, GILL, and ENDA's core block is designed like this. Therefore, you refer to vivi/arch/def-configs/kings, vivi/arch/def-configs/gill, and vivi/arch/def-configs/enda If you want to compile vivi for KINGS(i.e. a configuration of a target board, alredy exist in the vivi/arch/def-cofnigs), just do like this: # make kings Other machines can complie same ways. 2.4. S3C2410-Based machines with the NAND flash Here, I will take an example about a S3C2410-Based machine. The SMDK-2410 (a development board by SAMSUNG) is a S3C2410-Based machine. The core block of SMDK-2410 is composed like this: * CPU: S3C2410 * ROM: 64MB SMC (NAND Flash) * RAM: 64MB DRAM A configuration for SMDK-2401 will be found at vivi/arch/def-configs/smdk2410. To compile for SMDK-2410, do like this: (As I described above) # make smdk2410 3. Using the vivi 3.1. Interface between an user and the vivi The vivi uses the serical communication for user interface. Therefore, to connect the vivi, you 1) connect a serial cable between host paltform and target platform. 2) already have a serial communication program like the minicom. 3) properly make the vivi binary to support a UART port when you configure the vivi. If all of above is ok, you can see messages on the screen printed by the vivi. For example, below messages catched from the SMDK-2410 VIVI version 0.1.4 ([email protected]) (gcc version 2.95.2 20000516 (release) [Rebel.com]) #0.1.4 荐 10岿 16 16:19:11 KST 2002 MMU table base address = 0x33DFC000 Succeed memory mapping. NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T) Found saved vivi parameters. Press Return to start the LINUX now, any other key for vivi See the last line on the screen. (As I mentioned section 1.1) the vivi has two mode: an autoboot mode and a prompt mode. The vivi wait for a key input. If an user want to enter the prompt mode, press andy key (except Enter key). And then you can see the "vivi>" prompt. Otherwise, the vivi try boot the linux kernel after waiting a few seconds or minutes. 3.2. Built-in user commands This is not full-described built-in user comamnd. But following commands is enough to use the vivi (as far as I know). 3.2.1. load command A load command is loading binaries to the flash or the ram. Usage: load <media_type> [ <partname> | <addr> <size> ] <x|y|z> <media_type> This argument is where to load. Availabe values are *flash* and *ram*. [ <partname> ] or [ <addr> <size> ] This arguement determines location where to load a binary. If you want to use pre-defined mtd partiton informations, just type a partition name. Otherwise you specify an address and a size. <x|y|z> This arguement determines the file transfer protocol. I shy that the vivi only supprot xmodem curruntly. So, Available value is "x". For exampe, you load zImage to flash memroy. vivi > load flash kernel x or you specify an address and a size. vivi > load flash 0x80000 0xc0000 x 3.2.2. part command The vivi has mtd partiton informations for the vivi. This informatin not related to mtd partition informations of mtd device drivers. The vivi uses partition informations when load a binary, boot the linux kernel, erase flash memroy, etc... Avalilable commands are: Display mtd partition informations. part show Add a new mtd partition. part add <name> <offset> <size> <flag> <name> is name of a new mtd partiton. <offset> is offset in the mtd device. <size> is a size of a mtd parition. <flag> is flags of a mtd parition. Available valuse are JFFS2, LOCKED, and BONFS. Delete a mtd partiton. part del <partname> Reset mtd partitions to default values. part reset Save paramter valuse and mtd parition informations to flash permanently. part save 3.2.3. param command The vivi has some parameter values. For example, the "boot_delay" paramter determines how long wait keystroek when the vivi is in the autoboot mode. I'm sorry that this feature is in progress. So all listed parameter is not available. Here, I give several tips for you. If you change the "linxu command line", vivi> param set linux_cmd_line "you wish.." If you want to see paramters, vivi> param show If you want to wait a long time when recevie file via xmodem, vivi> param set xmodem_initial_timeout 3000000 If you want to boot imediately when a hardware reset, vivi> param set boot_delay 100000 3.2.4. boot command A boot command is boot the linux kernel which is stored in the flash memroy or ram. Usage: boot <media_type> [ <partname> | <addr> <size> ] <media_type> This argument is where to store the linux kernel image. Availabe values are ram, nor and smc. [ <partname> ] or [ <addr> <size> ] This arguement determines location where to store the linux kernel. If you want to use pre-defined mtd partiton information, just type a partition name. Otherwise you shuld specify an address and a size. Note that all argument is optional. If you omit all argument (just type boot), all arguments is parsing from pre-defined mtd parititon information called "kernel" For example, vivi> boot the vivi read the linux kernel binary from the "kernel" mtd parititons. vivi> boot nor 0x80000 the vivi read the linux kernel binary form the nor flash memory. the offset is 0x80000 and the size is default value (0xc0000). Ocassionally, you want to test the kernel on the ram (not store kernel to flash). you can do it on the vivi On the SA-1110 based machine, vivi> load ram 0xc0008000 x vivi> boot ram On the S3C2410 based machine, vivi> load ram 0x30008000 x vivi> boot ram On the PXA-240 based machine, vivi> load ram 0xA0008000 x vivi> boot ram the vivi boot the linux kernel from the ram. 3.2.5. flash command A flash comamnd manages the flash memory. If you want to erase flash memory, flash erase [ <partname> | <offset> <size> ] Getting started with vivi Janghoon Lyu ([email protected]) This is a short introduction about the vivi. Revision History Revision v0.1 2002-10-21 Revised by: jl Initial public release. very very short descriptions. (with foolish sentences -_-;;) ------------------------------------------------------------------------ Table of Contents 1. Introduction 1.1. Definitions 2. Compiling the vivi 2.1. Pre-Requirements 2.2. Straight-forward compilation 2.3. SA-1110-Based machines with the NOR flash 2.4. S3C2410-Based machines with the NAND flash 3. Using the vivi 3.1. Interface between an user and the vivi 3.2. Built-in user commands 3.2.1. load command 3.2.2. part command 3.2.3. param command 3.2.4. boot command 3.2.5. flash command ------------------------------------------------------------------------ 1. Introduction This document explains to you: 1) compiling the vivi 2) interface an user and the vivi 3) avaliable user commands 1.1. Definitions vivi The vivi is one of arm boot loaders. Autoboot mode The vivi has two modes. one of these is autoboot mode. This is a default mode. In this mode, The vivi automatically boot-up the linux kernel when a delay time is expired. Prompt mode One of vivi's modes is prompt mode. In this mode, An user is able to command to the vivi doing something. Host platform Generally, an engineer develop the software on the powerful destktop computer (not on the embedded machines). This descktop called host platform. Target platform Target platform means developemnt boards or embedded machines. 2. Compiling the vivi This section describes how to compile the vivi. 2.1. Pre-Requirements Here is a list of the minimum levels of software necessary to compile the vivi. * Gnu C 2.95.3 * Gnu make 3.79.1 * binutils 2.11.2 And then, your host platform are installed these tools. * You have a cross-compiler and tool-chains. * You have a Baurne-Again shell. (/bin/bash) * You have a ncurses library. 2.2. Straight-forward compilation The compiliation(configuration) environment of the vivi is simlilar to the environment of the linux kernel. So, you can do make distclean, make clean, make oldconfig , make menuconfig, and make config. General compiling sequence sequence is: 1) make distclean 2) make menuconfig 3) make Note that If you change configurations, run make clean and make. Next two sections describes compilation of two examples. 2.3. SA-1110-Based machines with the NOR flash I will take an example about the vivi compliation. I assumed that a target platform's core block is composed like this: * CPU: SA-1110 processor * ROM: 32MB Intel Strata Flash (32-bit wide) * RAM: 32MB DRAM These features make sense to you. Many platforms I have met is designed core block like above. For instance, KINGS, GILL, and ENDA's core block is designed like this. Therefore, you refer to vivi/arch/def-configs/kings, vivi/arch/def-configs/gill, and vivi/arch/def-configs/enda If you want to compile vivi for KINGS(i.e. a configuration of a target board, alredy exist in the vivi/arch/def-cofnigs), just do like this: # make kings Other machines can complie same ways. 2.4. S3C2410-Based machines with the NAND flash Here, I will take an example about a S3C2410-Based machine. The SMDK-2410 (a development board by SAMSUNG) is a S3C2410-Based machine. The core block of SMDK-2410 is composed like this: * CPU: S3C2410 * ROM: 64MB SMC (NAND Flash) * RAM: 64MB DRAM A configuration for SMDK-2401 will be found at vivi/arch/def-configs/smdk2410. To compile for SMDK-2410, do like this: (As I described above) # make smdk2410 3. Using the vivi 3.1. Interface between an user and the vivi The vivi uses the serical communication for user interface. Therefore, to connect the vivi, you 1) connect a serial cable between host paltform and target platform. 2) already have a serial communication program like the minicom. 3) properly make the vivi binary to support a UART port when you configure the vivi. If all of above is ok, you can see messages on the screen printed by the vivi. For example, below messages catched from the SMDK-2410 VIVI version 0.1.4 ([email protected]) (gcc version 2.95.2 20000516 (release) [Rebel.com]) #0.1.4 荐 10岿 16 16:19:11 KST 2002 MMU table base address = 0x33DFC000 Succeed memory mapping. NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T) Found saved vivi parameters. Press Return to start the LINUX now, any other key for vivi See the last line on the screen. (As I mentioned section 1.1) the vivi has two mode: an autoboot mode and a prompt mode. The vivi wait for a key input. If an user want to enter the prompt mode, press andy key (except Enter key). And then you can see the "vivi>" prompt. Otherwise, the vivi try boot the linux kernel after waiting a few seconds or minutes. 3.2. Built-in user commands This is not full-described built-in user comamnd. But following commands is enough to use the vivi (as far as I know). 3.2.1. load command A load command is loading binaries to the flash or the ram. Usage: load <media_type> [ <partname> | <addr> <size> ] <x|y|z> <media_type> This argument is where to load. Availabe values are *flash* and *ram*. [ <partname> ] or [ <addr> <size> ] This arguement determines location where to load a binary. If you want to use pre-defined mtd partiton informations, just type a partition name. Otherwise you specify an address and a size. <x|y|z> This arguement determines the file transfer protocol. I shy that the vivi only supprot xmodem curruntly. So, Available value is "x". For exampe, you load zImage to flash memroy. vivi > load flash kernel x or you specify an address and a size. vivi > load flash 0x80000 0xc0000 x 3.2.2. part command The vivi has mtd partiton informations for the vivi. This informatin not related to mtd partition informations of mtd device drivers. The vivi uses partition informations when load a binary, boot the linux kernel, erase flash memroy, etc... Avalilable commands are: Display mtd partition informations. part show Add a new mtd partition. part add <name> <offset> <size> <flag> <name> is name of a new mtd partiton. <offset> is offset in the mtd device. <size> is a size of a mtd parition. <flag> is flags of a mtd parition. Available valuse are JFFS2, LOCKED, and BONFS. Delete a mtd partiton. part del <partname> Reset mtd partitions to default values. part reset Save paramter valuse and mtd parition informations to flash permanently. part save 3.2.3. param command The vivi has some parameter values. For example, the "boot_delay" paramter determines how long wait keystroek when the vivi is in the autoboot mode. I'm sorry that this feature is in progress. So all listed parameter is not available. Here, I give several tips for you. If you change the "linxu command line", vivi> param set linux_cmd_line "you wish.." If you want to see paramters, vivi> param show If you want to wait a long time when recevie file via xmodem, vivi> param set xmodem_initial_timeout 3000000 If you want to boot imediately when a hardware reset, vivi> param set boot_delay 100000 3.2.4. boot command A boot command is boot the linux kernel which is stored in the flash memroy or ram. Usage: boot <media_type> [ <partname> | <addr> <size> ] <media_type> This argument is where to store the linux kernel image. Availabe values are ram, nor and smc. [ <partname> ] or [ <addr> <size> ] This arguement determines location where to store the linux kernel. If you want to use pre-defined mtd partiton information, just type a partition name. Otherwise you shuld specify an address and a size. Note that all argument is optional. If you omit all argument (just type boot), all arguments is parsing from pre-defined mtd parititon information called "kernel" For example, vivi> boot the vivi read the linux kernel binary from the "kernel" mtd parititons. vivi> boot nor 0x80000 the vivi read the linux kernel binary form the nor flash memory. the offset is 0x80000 and the size is default value (0xc0000). Ocassionally, you want to test the kernel on the ram (not store kernel to flash). you can do it on the vivi On the SA-1110 based machine, vivi> load ram 0xc0008000 x vivi> boot ram On the S3C2410 based machine, vivi> load ram 0x30008000 x vivi> boot ram On the PXA-240 based machine, vivi> load ram 0xA0008000 x vivi> boot ram the vivi boot the linux kernel from the ram. 3.2.5. flash command A flash comamnd manages the flash memory. If you want to erase flash memory, flash erase [ <partname> | <offset> <size> ]

2009-08-09

Linux C语言编程入门.pdf

适合已经有一定C语言基础的、想学习Linux下C语言编程的朋友使用。

2009-08-09

交换机路由器配置模拟软件

我们学校用的,据说是国产的,用起来还行但是模拟的毕竟不是真实的,和实际操作有点差别

2008-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除