dnw linux version
dnw in linux
Use xterm as a serial terminal. In Fedora 9
use "yum install screen" to install screen package.
Plug the USB-UART cable, see if there is a ttyUSB0 in /dev
Enter "screen /dev/ttyUSB0 115200,cs8,-ixon,-ixon,istrip" to connect to USB-UART.
Screen as Serial Terminal
Download the driver and dnw application from dwn_linux.rar
Unzip the rar, you will get 2 folder.
dnw - dnw application for download image to device
secbulk - Sumsung SMDK driver.
Build dnw application.
#cd dnw
#gcc -o dnw dnw.c
Build driver.
#cd secbulk
#make -C /lib/modules/`uname -r`/build M=`pwd` modules
dnw in linux
Fix for your product
Our product ID is different with origin release, change the product ID in secbulk.c
// { USB_DEVICE(0x5345, 0x1234)},
{ USB_DEVICE(0x4E8, 0x1234)},
Change the RAM address from 0x32000000 to 0xC0000000 in dnw.c
// *((unsigned long*)file_buffer) = 0x32000000; //load address
*((unsigned long*)file_buffer) = 0xC0000000; //load address
Add checksum after for loop in dwn.c
*((unsigned short*)(file_buffer + file_stat.st_size + 8)) = sum;
Change the block size to 512, because the block size is define to 512 in secbulk.c. If you don't change the size, small image download is ok, but large image like kernel, file system will not success.
// size_t block_size = remain_size / 100;
size_t block_size = 512;
Start to download
Insert the USB-UART cable, and see if you get the ttyUSB0
#cd /dev
#ls
Set the xterm to serial console,
#screen /dev/ttyUSB0 115200,cs8,-ixon,-ixon,istrip
Power on the MB
Load the driver,
#cd secbullk
#insmod secbulk.ko
Use dmesg to see if our driver can find the MB
#dmesg
You need to see the "endpoint found!", if you can't see this , change your product id and do it again.
#secbulk:bulk out endpoint found!
Hit key to enter the uboot mode, and enter dnw to wait image transfer
#dnw
Enter the dnw folder, and use dnw application to transfer image
#cd dnw
#./dnw your_image_path
Re
Ïà¹ØÎĵµ£º
List_Head
²Ù×÷ϵͳÄں˾³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ»·Á´±í¡¢Ë«Ïò
Á´±íµÄʵÏÖ¡£ÔÚ
<Linux/list.h>
ÎļþÖж¨ÒåÁËÒ»¸ö
list_head
ÀàÐͼòµ¥½á¹¹£º
struct
list_head {
struct list_head *next, *prev;
};
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á ......
ѹËõÎļþ
ѹËõµ¥¸öÎļþ
tar zvfc a.tar.gz a.txt
ѹËõÎļþ¼Ð
tar zvfc a.tar.gz Îļþ¼Ð·¾¢
½âѹËõ
tar xvf FileName.tar
Èç¹ûÊÇ .tar.gzÎļþÊ×ÏÈÐèÒª
½âѹ1£ºgunzip FileName.gz
½âѹ2£ºgzip -d FileName.gz
ÔÚtar һϠ¾ÍÐÐÁË
ÆäËûתÔØ
.tar
½â°ü£º tar xvf FileName.tar
......
Red Hat Linux ѧϰ±Ê¼Ç
1. ÔÚlinux ÉϺÍÆäËû¼ÆËã»ú¹²ÏíÎļþ£¬ÐèÒªÔÚlinuxÉϴftp server (vsftp)
2. Æô¶¯linuxÉϵÄftp server ʹÓÃÃüÁservice vsftpd start
3. ......
#include <stdio.h>
#include <sys/select.h>
#include <termios.h>
#include <unistd.h>
#include <ctype.h>
#define STDIN 0
int main()
{
struct timeval tv = {0,0};
struct termios term , termbak;
& ......