最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

在NIOS II上安裝uClinux全過程的4篇文章 之 后2篇

2023-07-24 11:27 作者:有AI野心的電工和碼農(nóng)  | 我要投稿

同一個網(wǎng)站(此網(wǎng)站當(dāng)年就被屏蔽了無法訪問, 用了些科技)的4篇文章, 當(dāng)年就是參考這4篇文章成功地在NIOS2上裝上了uClinux, 當(dāng)時還蠻有成就感的. 估計現(xiàn)在這些都過時了, 也沒多少價值了, 權(quán)當(dāng)記錄一下留個紀(jì)念.

書接上篇


原文地址:http://nioswiki.jot.com/WikiHome/OperatingSystems/UClinuxDist

uClinux-dist包準(zhǔn)備好了,toolchain也準(zhǔn)備好了,下面可以編譯了,具體的編譯步驟如下:

這篇文章給出了按 "默認(rèn)來編譯" 和 "custom編譯" 的幾個例子。

3. 第三篇 UClinuxDist

Version 157, changed by hippo5329@yahoo.com.tw. 06/15/2008.?Show version history

This is about building the kernel and apps using uClinux-dist sources.

If you got any problems, please post over the nios forum.

(This is different from the very old buildroot guide approach. DO NOT MIX UP)

To begin, you must have followed?InstallNios2Linux?, downloaded the?nios2-linux-20080616.tar?and checked out the source. Older version dose NOT apply to the procedures described here.

In uClinux-dist dir, perform the menuconfig. DO NOT cd linux-2.6.x

cd uClinux-dist
make menuconfig

In the menuconfig, make sure it is selected as follows:

Vendor/Product Selection ---> ? # select
? ?--- Select the Vendor you wish to target
? ? ? ?Vendor (Altera) ?---> ? # should have default to Altera
? ?--- Select the Product you wish to target
? ? ? ?Altera Products (nios2) ?---> ? ?# should have defaulted to nios2

Kernel/Library/Defaults Selection ---> ? ?# select
? ? ? ?(linux-2.6.x) Kernel Version
? ? ? ?Libc Version (None) ?---> ? ? # should have defulat to None - very important.
? ?[*] Default all settings (lose changes) ? ? # select
? ?[ ] Customize Kernel Settings
? ?[ ] Customize Vendor/User Settings
? ?[ ] Update Default Vendor Settings

Then?<exit> <exit> <yes>

DO NOT change any other setting until first successful boot.

Run vendor_hwselect to setup the memory and io port address map of your Nios II board (see?LinuxHwselect?for details) .?Select the nios2 cpu and sdram.

(still in uClinux-dist dir, DO NOT cd linux-2.6.x)

make vendor_hwselect SYSPTF=/path_to_your_hardware_project/your_system.ptf ?# you must give the absolute path to ptf, no space allowed in path

Compile kernel and apps,

make

(this will take a while)

If you meet errors, you can use?NON_SMP_BUILD=1 make, which avoids parallel make. The messages will be cleaner.

The compressed kernel is stored in the images folder, is called zImage and is in ELF format. You can follow?TryOutuClinux?to run the new zImage.

編譯好了image,往板子上燒寫的方法,參見文章TryOutuClinux,見后面一篇文章。

In case you want a real clean restart, use "git clean",

git clean -f -x -d

Below is the the start up message of an Altera NEEK dev board.

# nios2-download -g images/zImage
Using cable "USB-Blaster [USB 2-1.2]", device 1, instance 0x00
Pausing target processor: OK
Initializing CPU cache (if present)
OK
Downloaded 1272KB in 7.7s (165.1KB/s)
Verified OK ? ? ? ? ? ? ? ? ? ? ? ?
Starting processor at address 0x00500000
# nios2-terminal
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster [USB 2-1.2]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)

Uncompressing Linux... Ok, booting the kernel.
Linux version 2.6.26-rc6 (hippo@darkstar) (gcc version 3.4.6) #2 PREEMPT Mon Jun 16 14:30:09 CST 2008


uClinux/Nios II
Built 1 zonelists in Zone order, mobility grouping off. ?Total pages: 8128
Kernel command line:
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory available: 30136k/2333k RAM, 0k/0k ROM (1552k kernel code, 781k data)
Mount-cache hash table entries: 512
net_namespace: 180 bytes
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
io scheduler noop registered
io scheduler deadline registered (default)
ttyJ0 at MMIO 0x8009340 (irq = 8) is a Altera JTAG UART
console [ttyJ0] enabled
ttyS0 at MMIO 0x8008e00 (irq = 7) is a Altera UART
dm9000 Ethernet Driver, V1.30
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Freeing unused kernel memory: 572k freed (0x1b8000 - 0x246000)
Shell invoked to run file: /etc/rc
Command: hostname uClinux
Command: mount -t proc proc /proc
Command: mount -t sysfs sysfs /sys
Command: mount -t usbfs none /proc/bus/usb
mount: mounting none on /proc/bus/usb failed: No such file or directory
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: ifconfig lo 127.0.0.1
Command: route add -net 127.0.0.0 netmask 255.0.0.0 lo
Command: cat /etc/motd
Welcome to
? ? ? ? ?____ _ ?_
? ? ? ? / ?__| ||_| ? ? ? ? ? ? ? ?
? ?_ ? _| | ?| | _ ____ ?_ ? _ ?_ ?_
? | | | | | ?| || | ?_ \| | | |\ \/ /
? | |_| | |__| || | | | | |_| |/ ?
? | ?___\____|_||_|_| |_|\____|\_/\_/
? | |
? |_|

For further information check:
http://www.uclinux.org/

Execution Finished, Exiting

Sash command shell (version 1.1.1)
/>

Now, you can config uClinux-dist for costmize kernel and select your apps. I enabled only SMC91C111 and DM9000 Ethernet device drivers for Altera dev board in default config, you should enable your?EtherNet?driver in kernel config otherwise. see?LinuxConfig?for kernel config items.

Still in uClinux-dist dir, DO NOT cd linux-2.6.x

make menuconfig

Kernel/Library/Defaults Selection --->
(linux-2.6.x) Kernel Version
(None) Libc Version
[ ] Default all settings (lose changes)
[*] Customize Kernel Settings ? ?<== to change kernel config
[*] Customize Vendor/User Settings ?<== to change user apps config
[ ] Update Default Vendor Settings

Then?<exit> <exit> <yes>?.

It will enter kernel config first, then it will enter user apps config, you can select more apps.

After you change config,

make

You may want to now run your own program on the uClinux system.

An example Hello World program is here:?CompileHello

There are more example programs linked under Then More Fun here:??Clinux

Here is more usage about uClinux,

/> ifconfig eth0 192.168.1.85 ?# staic ip
/> route add default gw 192.168.1.254 ? ? # gateway
/> ifconfig
eth0 ? ? ?Link encap:Ethernet ?HWaddr 00:07:ED:00:00:00
? ? ? ? ?inet addr:192.168.1.85 ?Bcast:192.168.1.255 ?Mask:255.255.255.0
? ? ? ? ?UP BROADCAST NOTRAILERS RUNNING MULTICAST ?MTU:1500 ?Metric:1
? ? ? ? ?RX packets:8 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? ?TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? ?collisions:0 txqueuelen:1000
? ? ? ? ?RX bytes:2260 (2.2 KiB) ?TX bytes:2854 (2.7 KiB)
? ? ? ? ?Interrupt:8

lo ? ? ? ?Link encap:Local Loopback
? ? ? ? ?inet addr:127.0.0.1 ?Mask:255.0.0.0
? ? ? ? ?UP LOOPBACK RUNNING ?MTU:16436 ?Metric:1
? ? ? ? ?RX packets:0 errors:0 dropped:0 overruns:0 frame:0
? ? ? ? ?TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
? ? ? ? ?collisions:0 txqueuelen:0
? ? ? ? ?RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)

/> inetd & ?# start inetd to invoke telnetd and ftpd services
[22]
/> boa & ?# start httpd with cgi-demo
[23]
/> netstat -a ?# show network services
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address ? ? ? ? ? Foreign Address ? ? ? ? State ? ?
tcp ? ? ? ?0 ? ? ?0 *:http ? ? ? ? ? ? ? ? ?*:* ? ? ? ? ? ? ? ? ? ? LISTEN ? ?
tcp ? ? ? ?0 ? ? ?0 *:ftp ? ? ? ? ? ? ? ? ? *:* ? ? ? ? ? ? ? ? ? ? LISTEN ? ?
tcp ? ? ? ?0 ? ? ?0 *:telnet ? ? ? ? ? ? ? ?*:* ? ? ? ? ? ? ? ? ? ? LISTEN ? ?
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags ? ? ? Type ? ? ? State ? ? ? ? I-Node Path
/> free
MemTotal: ? ? ? ? 6520 kB
MemFree: ? ? ? ? ?4340 kB
Buffers: ? ? ? ? ? ? 0 kB
/> ps
?PID PORT STAT ?SIZE SHARED %CPU COMMAND
? ?1 ? ? ?S ? ? 147K ? ? 0K ?2.8 /init
? ?2 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 ksoftirqd/0
? ?3 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 events/0
? ?4 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 khelper
? ?5 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kthread
? ?6 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kblockd/0
? ?7 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 pdflush
? ?8 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 pdflush
? ?9 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kswapd0
? 10 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 aio/0
? 17 ? ? ?R ? ? 147K ? ? 0K ?0.3 -/bin/sh
? 19 ? ? ?S ? ? 147K ? ? 0K ?0.2 dhcpcd
? 22 ? ? ?S ? ? ?95K ? ? 0K ?0.1 inetd
? 23 ? ? ?S ? ? 275K ? ? 0K ?0.4 boa
/>

ftpd usage, user : ftp, password:?, dir : /home/ftp

boa and cgi usage, dir : /home/httpd

You can check what is in busybox, by running "busybox" on uClinux.

You can check what is in sash, by "help" .

We use?initramfs?instead of the default?romfs?. The initramfs is generated from romfs dir and the dev file in vendors/Altera/nios2/romfs_list . See?InitramfsUpdate?.

The simplified "init" program will run etc/rc and etc/inittab during startup.

If you want to customize startup, eg inet servers and eth config, you should update the files vendors/Altera/nios2/ rc and inittab.

We arrange to minimize the memory usage. We use sash as default shell, it is smaller than busybox and take less memory. We include some standalone networking servers, such as inetd and telnetd. We build some networking utility into busybox, such as ifconfig,route,netstat,telnet,wget..etc. We don't use sh in busybox, and don't use servers in busybox as it takes a lot of memory.

You may use the simple history in sash. Use "h" to list history. Use "!" , d=1..20, to recall one of the history, eg "!3" for the 3rd cmd line.

Use control-H for backspace.

/> h
1: netstat -a
2: date
3: ntpdate pool.ntp.org
4: date
5: boa &
6: inetd &
7: ifconfig
8: dhcpcd &
9: free
10: ps
/> !10
?PID PORT STAT ?SIZE SHARED %CPU COMMAND
? ?1 ? ? ?S ? ? 147K ? ? 0K ?1.7 /init
? ?2 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 ksoftirqd/0
? ?3 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 events/0
? ?4 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 khelper
? ?5 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kthread
? ?6 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kblockd/0
? ?7 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 pdflush
? ?8 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 pdflush
? ?9 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 kswapd0
? 10 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 aio/0
? 11 ? ? ?S ? ? ? 0K ? ? 0K ?0.0 mtdblockd
? 18 ? ? ?R ? ? 147K ? ? 0K ?0.1 /bin/sh
? 19 ? ? ?S ? ? 147K ? ? 0K ?0.0 dhcpcd
? 22 ? ? ?S ? ? ?95K ? ? 0K ?0.0 inetd
? 23 ? ? ?S ? ? 275K ? ? 0K ?0.0 boa
/>

3.1 update git to the latest

After you have first successful boot, you may use "git pull" to update the kernel and uClinux-dist. Please refer to?GitServer?.

cd uClinux-dist
git pull
cd ..
cd linux-2.6
git pull
cd ..

原文地址:http://nioswiki.jot.com/WikiHome/OperatingSystems/TryOutuClinux

這篇文章介紹了有了現(xiàn)成的可燒寫的uclinux的image之后,燒寫到板子上的方法。

4. 第四篇 TryOutuClinux

Version 54, changed by mschnell. 08/08/2008.?Show version history

You may try out the uClinux on your Altera Nios dev board before compiling anything. You can learn how to run a compiled program on your board. It is a very basic and important step. The kernel image was built from uClinux-dist with the default config. Both the sof and ptf files come from the example project, and there is no change.?The sof and kernel image version must match, otherwise it will not run.

Please check?UClinuxDist?for booting up message and usage. After you get uClinux boot up successfully, you can build the kernel image with the ptf file of the same hardware project.

You will need Quartus and Nios2eds installed. Download the sof and zImage files for your board to a working dir, eg c:download on Windows or ~/download on Linux. Note the drives mapping in Nios II command shell (cygwin), drive c: is named as /cygdrive/c/ and c:download is /cygdrive/c/download.

Open a Nios II command shell on Windows from?Windows Start-->Programs-->Altera-->Nios II 7.2 -->Nios II Command Shell, and change to the download dir.

cd /cygdrive/c/download

Or open a shell terminal on Linux and change to the download dir.

cd ~/download

Note: If you don't have a Nios II license and have generated the .sof file yourself then its usage will be restricted. Follow the following instructions but run the?nios2-configure-sof?instruction from one command shell and run the?nios2-download?and?nios2-terminal?instructions from another. This allows the?nios2-configure-sof?to keep in contact with the processor so as to allow it to keep running.

4.1 For DE2 2C35 dev board

step 1. Configure the FPGA,

nios2-configure-sof DE2_NIOS_HOST_MOUSE_VGA.sof

下載sof文件的時候,可以在quartus軟件里作,可不必用命令行方式。

step 2. Download and run the kernel image,

nios2-download -g zImage_DE2_NIOS_HOST_MOUSE_VGA_v1.6
nios2-terminal

The kernel image was built with?DE2_NIOS_HOST_MOUSE_VGA.ptf?(was system_0.ptf) in the project DE2_System_v1.6/DE2_demonstrations/DE2_NIOS_HOST_MOUSE_VGA of the?DE2 v1.6?CD.

4.2 For DE2-70 dev board

step 1. Configure the FPGA,

nios2-configure-sof DE2_70_NIOS_HOST_MOUSE_VGA.sof

step 2. Download and run the kernel image,

nios2-download -g zImage_DE2_70_NIOS_HOST_MOUSE_VGA_v1.1
nios2-terminal

The kernel image was built with?DE2_70_NIOS_HOST_MOUSE_VGA.ptf?(was DE2_70_SOPC.ptf) in the project DE2_70_SYSTEM_cd_v1.1/DE2_70_demonstrations/DE2_70_NIOS_HOST_MOUSE_VGA of the?DE2-70 v1.1?CD.

4.3 For DE1 dev board

step 1. Configure the FPGA,

nios2-configure-sof DE1_SD_Card_Audio.sof

step 2. Download and run the kernel image,

nios2-download -g zImage_DE1_SD_Card_Audio_v0.6
nios2-terminal

The kernel image was built with?DE1_SD_Card_Audio.ptf?(was system_0.ptf) in the project DE1_CD_v0.6/DE1_demonstrations/DE1_SD_Card_Audio of the?DE1 v0.6?CD.

4.4 For Nios II Embedded Evaluation Kit, Cyclone III Edition, including Cyclone III starter kit (aka the "NEEK")

Easiest way to run Linux on the NEEK:

step 1: Copy the unzipped content of the?NEEK-uCLinux-eek.zip?file as a subdirectory ("uCLinux") into the "Altera_EEK_Applications" directory on the SD-card provided with the kit.

step 2: With the Application Selector you now can select and start "uCLinux"

View the embedded file?info.txt?(e.g. in the Application Selector) to see what it can do and how it's done.

Another Application Selector Application is?SLS_Console.zip?uploaded with permission of SLS Corp. This distribution shows the Linux starting messages on the NEEK's LCD screen and opens a shell that is displayed on the LCD screen and can be used with a PS2 keyboard attached to the NEEK.

Without using the SD-Card you can do this:

step 1. Configure the FPGA,

nios2-configure-sof?cycloneIII_embedded_evaluation_kit_web_server.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_cycloneIII_embedded_evaluation_kit_web_server

nios2-terminal

The kernel image was built with?cycloneIII_embedded_evaluation_kit_web_server_sopc.ptf?in the?Cyclone III Embedded Evaluation Kit Web Server files.

However, the TSE MAC driver is not ready yet, and the ethernet won't work.

4.5 For Cyclone III starter kit only

step 1. Configure the FPGA,

nios2-configure-sof?cycloneIII_embedded_evaluation_kit_web_server.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_cycloneIII_embedded_evaluation_kit_web_server

nios2-terminal

The kernel image was built with?cycloneIII_embedded_evaluation_kit_web_server_sopc.ptf?in the?Cyclone III Embedded Evaluation Kit Web Server files.

However, the ethernet won't work as there isn't one on this board.

Useful wiki page:?Cyclone III - Nios II - Starter board

4.6 For Altera Nios dev board 2C35 edition (not DSP board 2C35)

step 1. Configure the FPGA,

nios2-configure-sof?NiosII_cycloneII_2c35_full_featured.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_NiosII_cycloneII_2c35_full_featured_v7.2

nios2-terminal

The kernel image was built with?NiosII_cycloneII_2c35_full_featured_sopc.ptf?in the Nios2eds v7.2 installation dir, nios2eds/examples/verilog/niosII_cycloneII_2c35/full_featured .

4.7 For Altera Nios dev board 1C20 edition

step 1. Configure the FPGA,

nios2-configure-sof?NiosII_cyclone_1c20_full_featured.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_NiosII_cyclone_1c20_full_featured_v7.2

nios2-terminal

The kernel image was built with?NiosII_cyclone_1c20_full_featured_sopc.ptf?in the Nios2eds v7.2 installation dir, nios2eds/examples/verilog/niosII_cyclone_1c20/full_featured .

4.8 For Altera Nios dev board 2S60 ROHS edition

step 1. Configure the FPGA,

nios2-configure-sof?NiosII_stratixII_2s60_RoHS_full_featured.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_NiosII_stratixII_2s60_RoHS_full_featured_v7.2

nios2-terminal

The kernel image was built with?NiosII_stratixII_2s60_RoHS_full_featured_sopc.ptf?in the Nios2eds v7.2 installation dir, nios2eds/examples/verilog/niosII_stratixII_2s60_RoHS/full_featured .

But the ethernet port on 2S60 may not work , due an issue in the design file v7.2.

4.9 For Altera Nios dev board 1S10 edition

step 1. Configure the FPGA,

nios2-configure-sof?NiosII_stratix_1s10_full_featured.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_NiosII_stratix_1s10_full_featured_v7.2

nios2-terminal

The kernel image was built with?NiosII_stratix_1s40_full_featured.ptf?in the Nios2eds v7.2 installation dir, nios2eds/examples/verilog/niosII_stratix_1s10/full_featured .

4.10 For Altera Nios dev board 1S40 edition

step 1. Configure the FPGA,

nios2-configure-sof?NiosII_stratix_1s40_full_featured.sof

step 2. Download and run the kernel image,

nios2-download -g?zImage_NiosII_stratix_1s40_full_featured_v7.2

nios2-terminal

The kernel image was built with?NiosII_stratix_1s40_full_featured.ptf?in the Nios2eds v7.2 installation dir, nios2eds/examples/verilog/niosII_stratix_1s40/full_featured .

If you are using time-limited sof , read opencore plus,

http://www.altera.com/literature/an/an320.pdf

Tethered Mode

Tethered mode requires an Altera serial joint test actions group (JTAG)

cable connected between the JTAG port on your board and the host

computer, which runs the Quartus II Programmer for the duration of the

hardware evaluation period. The Quartus II Programmer only requires a

minimum installation of the Quartus II software—no license is required.


在NIOS II上安裝uClinux全過程的4篇文章 之 后2篇的評論 (共 條)

分享到微博請遵守國家法律
玉树县| 青冈县| 福建省| 拜泉县| 天柱县| 古田县| 大方县| 灵山县| 集贤县| 郴州市| 霸州市| 辽阳市| 龙口市| 丰顺县| 六盘水市| 炎陵县| 江北区| 达州市| 麟游县| 麻栗坡县| 遂溪县| 莲花县| 宿松县| 舒城县| 都昌县| 宜春市| 九江县| 周口市| 凌源市| 启东市| 兴化市| 四平市| 张家口市| 铁岭市| 宜春市| 广州市| 稷山县| 广灵县| 高雄县| 巴中市| 肃宁县|