Home

W90P710 uClinux BSP User Manual

image

Contents

1. 9 2 Configuration method 1 ROM file system image romfs img located at Ox7FOCOO00 as image 6 runtime address 0x7FOCO0000 Command for updating ROM file system listed below bootloader gt ft 6 romfs img 0x7FOCO000 0x7FOCO000 a or The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 16 bootloader gt fx 6 romfs img 0x7FOCO000 0x7F0C0000 a 9 3 Configuration method 2 Compressed ROM file system image romfs zip located at Ox7FOC0000 as image 6 runtime address 0xD00000 Command for updating ROM file system listed below bootloader gt ft 6 romfs zip Ox7FOCO000 0xD00000 acz or bootloader gt fx 6 romfs zip 0x7F0C0000 0xD00000 acz 9 4 Configuration method 3 ROM file system image romfs img located at Ox7FOC0000 as image 6 runtime address 0xDO0000 Command for updating ROM file system listed below bootloader gt ft 7 romfs img Ox7FOCO000 0xD00000 ac or bootloader gt fx 7 romfs img Ox7FOCO000 0xD00000 ac 9 5 Adjust ROMFS starting address The default ROMFS memory location is OxDO0000 in SDRAM Here use the chang of ROMFS location to OxC0000 as an example to point out the modification needs to be take linux 2 4 x drivers block blkmem c in blkmem_init a
2. init in the bin directory the init contains all of the programs that want to be executed immediately when the system startup The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 9 6 Kernel configuration User can type ether make linux_menuconfig or make menuconfig under uClinux dist and select the option Customize Kernel Settings to enter the main menu of kernel configuration page User can use arrow key to move high light item and use space key to select or un select them It is strongly suggested run make dep after any configuration made and before build kernel 6 1 Simplest configuration The following items show the configuration of the most compact kernel System Type gt Winbond ARM system type RAM Kernel executes from WINBOND W90P710 Board Implementation General setup gt ELF Kernel core proc kcore format Block devices gt ROM disk memory block device blkmem W90P710 FLASH type File systems gt ROM file system support Character devices gt Winbond W90P710 serial port support Support for console on Winbond W90P710 serial port This configuration support the r
3. Networking options and Network drvice support of main menu on the linux kernel will appear General setup gt Networking support 6 2 4 1 TCP IP protocol support Networking options gt TCP IP networking 6 2 4 2 PPP support point to point protocol Network device support gt Network device support lt gt PPP point to point protocol support PPP Deflate compression PPP over Ethernet EXPERIMENTAL 6 2 4 3 W90P710 Ethernet Controller device driver support Network device support gt Ethernet 10 or 100Mbit gt Ethernet 10 or 100Mbit Winbond W90P710 Embedded Ethernet support The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 11 6 2 4 4 File systems support 6 2 4 4 1 ext3 support File systems gt Ext3 journalling file system support Partition Types gt Advanced partition selection haa PC BIOS MSDOS partition tables support 6 2 4 4 2 FAT based file systems MS DOS VFAT support File systems gt DOS FAT fs support MSDOS fs support VFAT Windows 95 fs support Partition Types gt Advanced partition selection PC BI
4. Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 1 W90P710 uClinux BSP User s Manual Winbond Electronics Corp Dec 30 2005 The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond NO W90P710 uClinux Users Manual Electronics Corp PAGE 2 VERSION 1 2 Histroy List Version Date Author Comment 1 0 Aug 30 2005 MCLi Initial Version 1 1 Sep 15 2005 MCLi Update for W90P710 POS TAX Board 1 2 Dec 30 2005 MCLi Update for W90P710 Development Board The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond l Tntroductioi sseni E E EAN AAA Ena R are aeaa aaoi 2 Farget PROCASSOM siirinsesi are a a E E A A E E R 3 S pported EUPIA CNN sicoiir iiai E teen R E ca emanates ace AT O E ceeeecetalceguen 4 D velopment Platform sssrinin ea EEE E E NE T E ee ee 3 Installation Procedure eseon ER a e E EA EEEE RTA Sol Install the tools and AS ye ig MMI fs ceccaca ain ts scecrsecenneccaccintenacrisee dasansteesdinide oen eaae eee ens 5 2 Fil sinst lled ieroci eanne ninna ck eecauvace tian a aiene A nant eae ees Ded Drivers ndtheir location suin
5. service const struct addrinfo req struct addrinfo pai 11 1 7 13 static int gain_inet_serv const char servicename const struct gaih_typeproto tp const struct addrinfo req struct gain_servtuple st 11 1 7 14 int getaddrinfo const char name const char service const struct addrinfo hints struct addrinfo pai 11 1 7 15 struct hostent gethostbyaddr const void addr socklen_t len int type 11 1 7 16 int gethostbyaddr_r const void addr socklen_t len int type struct hostent result_buf char buf size_t buflen struct hostent result int h_errnop 11 1 7 17 struct hostent gethostbyname const char name 11 1 7 18 struct hostent gethostbyname2 const char name int family 11 1 7 19 int gethostbyname2_r const char name int family struct hostent result_buf char buf size_t buflen struct hostent result int h_errnop 11 1 7 20 int gethostbyname_r const char name struct hostent result_buf char buf size_t buflen struct hostent result int h_errnop 11 1 7 21 void endhostent void 11 1 7 22 struct hostent gethostent void 11 1 7 23 void sethostent int stay_open 11 1 7 24 int getnameinfo const struct sockaddr sa socklen_t addrlen char host socklen_t hostlen char serv socklen_t servlen unsigned int flags 11 1 7 25 struct netent getnetbyaddr uint82_t net int type 11 1 7 26 struct netent getnetoyname const char name 11 1 7 27 void endnetent void 11 1 7 28 stru
6. 11 1 12 25 11 1 12 26 pthread_create pthread_t thread pthread_attr_t attr void start_routine void void arg pthread_t pthread_self void pthread_equal pthread_t thread1 pthread_t thread2 void pthread_exit void retval pthread_join pthread_t th void thread_return pthread_detach pthread_t th pthread_attr_init pthread_attr_t attr pthread_attr_destroy pthread_attr_t attr pthread_attr_setdetachstate pthread_attr_t attr int detachstate int pthread_attr_getdetachstate const pthread_attr_t attr int int pthread_attr_setschedparam pthread_attr_t attr const struct sched_param param int pthread_attr_getschedparam const pthread_attr_t attr struct sched_param param int pthread_attr_setschedpolicy pthread_attr_t attr int policy int pthread_attr_getschedpolicy const pthread_attr_t attr int policy int pthread_attr_setinheritsched pthread_attr_t attr int inherit int pthread_attr_getinheritsched const pthread_attr_t attr int inherit int pthread_attr_setscope pthread_attr_t attr int scope int pthread_attr_getscope const pthread_attr_t attr int scope int pthread_attr_setguardsize pthread_attr_t attr size_t guardsize int pthread_attr_getguardsize const pthread_attr_t attr size_t guardsize int pthread_attr_setstackaddr pthread_attr_t attr void stackaddr int pthread_attr_getstackadadr const pthread_attr_t attr void stackaddr int
7. void newval size_t newlen int sched_setparam pid_t pid const struct sched_param p int sched_getparam pid_t pid struct sched_param p int sched_setscheduler pid_t pid int policy const struct sched_param p int sched_getscheduler pid_t pid int sched_yield void int sched_get_priority_max int policy int sched_get_priority_min int policy int sched_rr_get_interval pid_t pid struct timespec tp int nanosleep const struct timespec req struct timespec rem void mremap void old_address size_t old_size size_t new_size unsigned long flags int setresuid uid_t ruid uid_t euid uid_t suid int getresuid uid_t ruid uid_t euid uid_t suid int query_module const char name int which void buf size_t bufsize size_t ret int poll struct pollfd ufds unsigned int nfds int timeout int setresgid gid_t rgid gid_t egid gid_t sgid int getresgid gid_t rgid gid_t egid gid_t sgid int___syscall_rt_sigaction int signum const struct sigaction act struct sigaction oldact size_t size int sigourocmask int how const sigset_t set sigset_t oldset int sigpending sigset_t set int sigtimedwait const sigset_t set siginfo_t info const struct timespec timeout int sigsuspend const sigset_t mask ssize_t pread int fd void buf size_t count off_t offset ssize_t pwrite int fd const void buf size_t count off_t offset int chown const char path uid_t owner gid_t group char
8. 11 1 4 26 11 1 4 27 11 1 4 28 11 1 4 29 11 1 4 30 11 1 4 31 11 1 4 32 11 1 4 33 11 1 4 34 11 1 4 35 int fputc int ch FILE fp int fgetc FILE fp int fflush FILE fp char fgets char s size_t count FILE f char gets char str int fputs const char str FILE fp int puts const char str int puts const char str size_t fread void buf size_t size size_t nelm FILE fp size_t fwrite const void buf size_t size size_t nelm FILE fp void rewind FILE fp int fseek FILE fp long offset int ref long ftell FILE fp int fclose FILE fp int getc FILE stream int putc int c FILE stream int ungetc int c FILE fp int printf const char fmt int sprintf char sp const char fmt int fprintf FILE fp const char fmt int vprintf const char fmt va_list ap int vsprintf char sp const char fmt va_list ap int vfprintf FILE op const char fmt va_list ap int putchar char c int getchar void setbuf FILE stream char buf void setbuffer FILE stream char buf size_tsize void setlinebuf FILE stream int setvbuf FILE fp char buf int mode size_t size int scanf const char format int fscanf FILE stream const char format int sscanf const char str const char format int vscanf const char format va_list ap int vsscanf const char str const char format va_list ap int
9. 2 4 x drivers char w90p710_uart_2 c uClinux dist linux 2 4 x drivers char w90p710_uart_3 c PS2 uClinux dist linux 2 4 x drivers char w90p710_ps2 c Keypad uClinux dist linux 2 4 x drivers char w90p710_keypad c RTC uClinux dist linux 2 4 x drivers char w90p710_rtc c LCM uClinux dist linux 2 4 x drivers media video w90p710_lcd c VED uClinux dist linux 2 4 x drivers media video w90p710_vfd c 12C uClinux dist linux 2 4 x drivers char w90p710_i2c c GPIO uClinux dist linux 2 4 x drivers gpio gpio_core c USB uClinux dist linux 2 4 x drivers usb uClinux dist linux 2 4 x drivers usb wbusb Flash uClinux dist linux 2 4 x drivers block flash MTD uClinux dist linux 2 4 x drivers mtd Smartcard uClinux dist linux 2 4 x drivers char w90p710_sc c uClinux dist linux 2 4 x drivers char tda8007b_sc c SDIO uClinux dist linux 2 4 x drivers scsi w90p710_sdio c Audio uClinux dist linux 2 4 x drivers sound w90p710_audio c uClinux dist linux 2 4 x drivers sound w90p710_ac97 c uClinux dist linux 2 4 x drivers sound w90p710_i2s c USI uClinux dist linux 2 4 x drivers char w90p710_usi c LCD uClinux dist linux 2 4 x drivers video w90p710fb c uClinux dist linux 2 4 x drivers video w90p710_osd c The files represent each device under dev listed in the following table Accessible Device Name H W interface Note dev ttySo COMA W90P710 COM 1 de
10. 20 modification times of each FILE to the current time umask The user file creation umask octal number mask is set to MODE umount Umount file system umount dir a ifconfig It used to configure the network interfaces such as ifconfig ethO 192 168 0 10 netmask 255 255 255 0 b route It used to manipulates the IP routing tables route add default netmask 255 255 255 0 gw 192 168 0 1 eth0O c dhcpc dhcp client application dhcpe etho d init Script init which located under romdisk bin directory contains all the applications want to be executed while starting up There are some commands in init which have been marked They are examples of using ifconfig mount command etc You may un comment and modify them to fit your need Please note the last user program in init should be an endless loop program such as sh or it will generate the Kernel panic The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 21 11 System call and library Almost all of the functions are compatible with the POSIX defined functions a little part of them were designed for the convenience of program developing The verification programs are included
11. char endptr int base 11 1 6 44 long int strtoimax const char nptr char endptr int base 11 1 6 45 unsigned long int strtoul const char nptr char endptr int base 11 1 6 46 int system char command 11 1 6 47 int unlockpt int fd 11 1 6 48 _ ptr_t valloc size_t size The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 26 11 1 7 inet 11 1 7 1 int accept int s struct sockaddr addr socklen_t addrlen 11 1 7 2 int bind int sockfd const struct sockaddr myaddr socklen_t addrlen 11 1 7 3 int connect int sockfd const struct sockaddr saddr socklen_t addrlen 11 1 7 4 int___dns_lookup const char name int type int nscount char nsip unsigned char outpacket struct resolv_answer a 11 1 7 5 struct ether_addr ether_aton const char asc 11 1 7 6 struct ether_addr ether_aton_r const char asc struct ether_addr addr 11 1 7 7 char ether_ntoa const struct ether_addr addr 11 1 7 8 char ether_ntoa_r const struct ether_addr addr char buf 11 1 7 9 const char gai_strerror int code 11 1 7 10 static int addrconfig sa_family_t af 11 1 7 11 void freeaddrinfo struct addrinfo ai 11 1 7 12 static int gain_inet const char name const struct gaih_service
12. getcwd char buf int size int capget void header void data int capset void header const void data int sigaltstack const stack_t ss stack_t oss ssize_t sendfile int out_fd int in_fd off_t offset size_t count pid_t vfork void int getrlimit __rlimit_resource_t resource struct rlimit rlimits The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A f inbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 35 11 1 11 153 int truncate64 const char path __off64_t length 11 1 11 154 int ftruncate64 int fd __off64_t length 11 1 11 155 int stat64 const char file_name struct stat64 buf 11 1 11 156 int Istat64 const char file_name struct stat64 buf 11 1 11 157 int fstat64 int fd struct stat64 buf 11 1 11 158 int pivot_root const char new_root const char put_old 11 1 11 159 ssize_t_getdents64 int fd char buf size_t nbytes 11 1 11 160 int fentl64 int fd int command 11 1 12 pthread library 11 1 12 1 int 11 1 12 2 11 1 12 3 int 11 1 12 4 11 1 12 5 int 11 1 12 6 int 11 1 12 7 int 11 1 12 8 int 11 1 12 9 int 11 1 12 10 detachstate 11 1 12 11 11 1 12 12 11 1 12 13 11 1 12 14 11 1 42 15 11 1 12 16 11 1 12 17 11 1 12 18 11 1 12 19 11 1 12 20 11 1 12 21 11 1 12 22 11 1 12 23 11 1 12 24
13. int pthread_setcancelstate int state int oldstate 11 1 12 60 int pthread_setcanceltype int type int oldtype 11 1 12 61 void pthread_testcancel void 11 1 12 62 void pthread_cleanup_push void routine void void arg 11 1 12 63 void pthread_cleanup_pop int execute 11 1 12 64 void pthread_cleanup_push_defer_np void routine void void arg The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 37 11 1 12 65 void pthread_cleanup_pop_restore_np int execute 11 1 12 66 void pthread_kill_other_threads_np void 11 1 12 67 sem_init 11 1 12 68 sem_wait 11 1 12 69 sem_post The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A
14. not overlapped The following table lists the basic flash map of uClinux system and the bootloader We suggest user compress the Linux kernel image to save flash space And the ROM file system image could also be a compressed if you want to copy it to SDRAM during run time Figure below shows the Memory Map of the BootLoader after loads uCLinux kernel and Romfs to SDRAM The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 15 Memory Map of BSP BootLoader Power ON Flash Map SDRAM Map on Booting after Boot Up 0x7 000000 0 7f000000 Image 0x700000 8MB _ Other Images 0xD00000 16MB i Or Free Space Ox7FLfffff 2MB gt 0x7f3fffff 4MB 9 1 Flash Configurations The Linux kernel image should always be compressed to save FLASH space and uncompress to SDRAM address 0x8000 for executing The command for updating kernel listed below bootloader gt ft 7 linux zip 0x7f020000 0x8000 acxz or bootloader gt fx 7 linux zip 0x7f020000 0x8000 acxz Three types of ROM file system configuration are supported it can either be compressed or not If ROM file system is not compressed it could reside in ether SDRAM or FLASH during run time
15. pthread_attr_setstacksize pthread_attr_t attr size_t stacksize int pthread_attr_getstacksize const pthread_attr_t attr size_t stacksize int pthread_setschedparam pthread_t target_thread int policy const struct sched_param param int pthread_getschedparam pthread_t target_thread int policy struct sched_param param The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 36 11 1 12 27 int pthread_mutex_init pthread_mutex_t mutex const pthread_mutexattr_t mutexattr 12 34 int pthread_mutexattr_settype pthread_mutexattr_t attr int kind 11 1 12 28 int pthread_mutex_lock pthread_mutex_t mutex 11 1 12 29 int pthread_mutex_trylock pthread_mutex_t mutex 11 1 12 30 int pthread_mutex_unlock pthread_mutex_t mutex 11 1 12 31 int pthread_mutex_destroy pthread_mutex_t mutex 11 1 12 32 int pthread_mutexattr_init pthread_mutexattr_t attr 11 1 12 33 int pthread_mutexattr_destroy pthread_mutexattr_t attr 1 1 1 12 35 int pthread_mutexattr_gettype const pthread_mutexattr_t attr int kind 11 1 12 36 int pthread_cond_init pthread_cond_t cond pthread_condattr_t cond_aittr 11 1 12 37 int pthread_cond_signal pthread_cond_t cond 11 1 12 38 int pthread_cond_broa
16. 1 2 2 int regexec const regex_t preg const char string size_t nmatch regmatch_t pmatch int eflags 11 1 2 3 size_t regerror int errcode const regex_t preg char errbuf size_t errbuf_size 11 1 2 4 void regfree regex_t preg 11 1 3 termios 11 1 3 1 int tcgetattr int fd struct termios term 11 1 3 2 int tcsetattr int fildes int optional_actions struct termios termios_p 11 1 3 3 int tcflush int fd int queue_selector 11 1 3 4 speed_t cfgetispeed struct termios tp 11 1 3 5 speed_t cfgetospeed struct termios tp 11 1 3 6 int cfsetospeed struct termios tp speed_t speed 11 1 3 7 int cfsetispeed struct termios tp soeed_t speed 11 1 3 8 void cfmakeraw struct termios t 11 1 3 9 int tcsendbreak int fd int duration 11 1 3 10 int tcflow int fd int action 11 1 3 11 pid_t tcgetpgrp int fd 11 1 3 12 int tcsetpgrp int fd pid_t pgrpid The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 23 11 1 4 stdio _ me ak ks ks ek ek ek ck RARAA RARE OONOOAARWDY 11 11 1 4 10 11 1 4 11 11 1 4 12 11 1 4 13 11 1 4 14 11 1 4 15 11 1 4 16 11 1 4 17 11 1 4 18 11 1 4 19 11 1 4 20 11 1 4 21 11 1 4 22 11 1 4 23 11 1 4 24 11 1 4 25
17. 10 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 14 Modify the romdisk bin init as followed mount t proc none proc mount t ramfs none usr mount t ramfs none swap ifconfig ethl 10 130 2 103 netmask 255 255 0 0 inetd test Use the genromfs to generate the romfs img and the updated linux bin with dev vddO supported When system startup telnet to the target system then cat dev vdd0 to get the message printed by test Currently the buffer size provides by the dev vddO is 2KB if the buffer size needs to be increase the Line 27 in uClinux dist linux 2 4 x drivers char vdd c can be changed to set the desired buffer size then rebuild the kernel define DEBUGBUF_SIZE 1024 2 9 Update Kernel and ROM File System This chapter describes how to update kernel and ROM file system onto FLASH as well as some kernel configuration regarding the ROM file system location Users could also refer to W90P710 Bootloader users manual pdf for more detail of bootloader operation The bootloader will scan the image sequentially and process the active images according to their attribute So you need to configure ROM file system image as the image 6 or other number smaller than 7 and Linux kernel as image 7 or other unused ID number grater than ROM file system s image ID The address of the images in FLASH is not relevant as long as they are
18. OS MSDOS partition tables support Native Language Support gt Codepage 437 United States Canada NEW NLS ISO 8859 1 Latin 1 Western European Languages NEW 6 2 4 4 3 ext2 support File systems gt Second extended fs support Partition Types gt Advanced partition selection PC BIOS MSDOS partition tables support 6 2 4 4 4 proc file system support File systems gt proc file system support 6 2 4 4 5 nfs support File systems gt Network File Systems gt NFS file system support Provide NFSv3 client suppor 6 2 4 4 6 devfs support File systems gt dev file system support EXPERIMENTAL Automatically mount at boot The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 12 6 2 4 4 7 USB device support First configure the the support of USB host controller OHCI host interface USB support gt Support for USB OHCI Compaq iMacs OPTi SiS ALi support USB Mass Storage device support SCSI support gt SCSI support SCSI disk support USB support gt USB Mass Storage support 7 Kernel module programming If the dev
19. amfs and romfs two basic file system and only the ELF flat format binary file can be executed no compressed flat format supported 6 2 Detailed configuration If more functions need to be supported on kernel then before the kernel rebuild it needs to do the selected kernel configuration the following sessions describe the procedures to do configurations These configurations are verified on the system However some of configurations of the network drivers file systems and network protocols are still on the alpha test stage such as PPPoE it needs to turn on the configuration of Code maturity level options gt Prompt for development and or incomplete code drivers The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 10 6 2 1 Enable the code maturity selection Code maturity level options gt Prompt for development and or incomplete code drivers 6 2 2 Loadable module support Loadable module support gt Enable loadable module support 6 2 3 Compressed FLAT file format support ZFLAT General setup gt Enable ZFLAT support 6 2 4 Network protocols and devices support Select the Networking support in General setup then the menus of the
20. ar buff int bufsize char hasmntopt const struct mntent mnt const char opt FILE setmntent const char name const char mode char setlocale int category register const char locale struct Iconv localeconv void char nl_langinfo nl_item item int regcomp regex_t preg const char regex int cflags int regexec const regex_t preg const char string size_t nmatch regmatch_t pmatch int eflags void regfree regex_t preg size_t regerror int errcode const regex_t preg char errbuf size_t int hcreate size_t nel int hcreate_r size_t nel struct hsearch_data htab void hdestroy void void hdestroy_r struct hsearch_data htab ENTRY hsearch ENTRY item ACTION action The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A a Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 30 11 1 11 1 11 1 11 1 11 1 11 1 _ _ ee ee d ee d 10 34 10 35 10 36 10 37 10 38 10 39 10 40 10 41 10 42 10 43 10 44 10 45 10 46 10 47 10 48 10 49 10 50 10 51 10 52 10 53 10 54 10 55 10 56 10 57 10 58 10 59 10 60 10 61 10 62 10 63 10 64 10 65 10 66 10 67 10 68 10 69 int hsearch_r ENTRY item ACTION action ENTRY retval struct hsearch_data htab void
21. ct netent getnetent void 11 1 7 29 void setnetent int f 11 1 7 30 int getpeername int sockfd struct sockaddr addr socklen_t paddrlen 11 1 7 31 void endprotoent void The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 27 11 1 7 32 11 1 7 33 11 1 7 34 11 1 7 35 11 1 7 36 11 1 7 37 11 1 7 38 result 11 1 7 39 11 1 7 40 11 1 7 41 11 1 7 42 11 1 7 43 11 1 7 44 11 1 7 45 11 1 7 46 11 1 7 47 11 1 7 48 11 1 7 49 11 1 7 50 11 1 7 51 11 1 7 52 11 1 7 53 11 1 7 54 11 1 7 55 11 1 7 56 11 1 7 57 11 1 7 58 11 1 7 59 11 1 7 60 to 11 1 7 61 11 1 7 62 11 1 7 63 11 1 7 64 11 1 7 65 11 1 7 66 11 1 7 67 struct protoent getprotobyname const char name struct protoent getprotobynumber int proto struct protoent getprotoent void void setprotoent int f void endservent void struct servent getservobyname const char name const char proto int getservbyname_r const char name const char proto struct servent result_buf char buf size_t buflen struct servent struct servent getservbyport int port const char proto int getservbyport_r int port const char proto struct servent result_buf char buf size_t buflen struct servent resu
22. d int msqid const void msgp size_t msgsz int msgflg key_t ftok char pathname char proj int endttyent void struct ttyent getttyent void struct ttyent getttynam const char tty int setttyent void void endutent void struct utmp getutent void struct utmp getutid struct utmp ut struct utmp getutline struct utmp ut The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A f inbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 31 11 1 10 70 void pututline struct utmp ut 11 1 10 71 struct utmp getutline struct utmp ut 11 1 10 72 void utmpname const char file 11 1 10 73 void updwtmp const char wtmp_file const struct utmp ut 11 1 11 sysdeps 11 1 11 1 11 1 11 2 11 1 11 3 11 1 11 4 11 1 11 5 11 1 11 6 11 1 11 7 11 1 11 8 11 1 11 9 11 1 11 10 11 1 11 11 11 1 11 12 11 1 11 13 11 1 11 14 11 1 11 15 11 1 11 16 11 1 11 17 11 1 11 18 filesystemtype 11 1 11 19 11 1 11 20 11 1 11 21 11 1 11 22 11 1 11 23 11 1 11 24 11 1 11 25 11 1 11 26 11 1 11 27 11 1 11 28 11 1 11 29 11 1 11 30 11 1 11 31 11 1 11 32 11 1 11 33 void _exit int status ssize_t read unsigned int fd char buf size_t count ssize_t write int_ fd const void __buf size t__n int open const char fn int flags mo
23. dcast pthread_cond_t cond 11 1 12 39 int pthread_cond_wait pthread_cond_t cond pthread_mutex_t mutex 11 1 12 40 int pthread_cond_timedwait pthread_cond_t cond pthread_mutex_t mutex const struct timespec abstime 11 1 12 41 int pthread_cond_destroy pthread_cond_t cond 11 1 12 42 int pthread_condattr_init pthread_condattr_t attr 11 1 12 43 int pthread_condattr_destroy pthread_condattr_t attr 11 1 12 44 int pthread_rwlock_init pthread_rwlock_t rwlock const pthread_rwlockattr_t attr 11 1 12 45 int pthread_rwlock_destroy pthread_rwlock_t rwlock 11 1 12 46 int pthread_rwlock_rdlock pthread_rwlock_t rwlock 11 1 12 47 int pthread_rwlock_tryrdlock pthread_rwlock_t rwlock 11 1 12 48 int pthread_rwlock_wrlock pthread_rwlock_t rwlock 11 1 12 49 int pthread_rwlock_trywrlock pthread_rwlock_t rwlock 11 1 12 50 int pthread_rwlock_unlock pthread_rwlock_t rwlock 11 1 12 51 int pthread_rwlockattr_init pthread_rwlockattr_t attr 11 1 12 52 int pthread_rwlockattr_destroy pthread_rwlockattr_t attr 11 1 12 53 int pthread_key_create pthread_key_t key void destr_function void 11 1 12 54 int pthread_key_delete pthread_key_t key 11 1 12 55 int pthread_setspecific pthread_key_t key const void pointer 11 1 12 56 void pthread_getspecific pthread_key_t key 11 1 12 57 int pthread_once pthread_once_t once_control void init_routine void 11 1 12 58 int pthread_cancel pthread_t thread 11 1 12 59
24. de_t mode int close int fd pid_t waitpid pid_t pid int status int options int creat const char file mode_t mode int link const char oldpath const char newpath int unlink const char pathname int execve const char filename char const argv char const envp int chdir const char path time_t time time_t t int mknod const char path mode_t mode dev_t dev int chmod const char path mode_t mode int lchown const char path uid_t owner gid_t group off_t lseek int fildes off_t offset int whence pid_t getpid void int mount const char specialfile const char dir const char unsigned long mountflags const void data int umount const char dir int setuid uid_t uid uid_t getuid void int stime time_t t long int ptrace enum __ ptrace_request request pid_t pid void addr void data unsigned int alarm unsigned int seconds int pause void int utime const char file const struct utimbuf times int access const char pathname int mode int nice int inc int kill pid_t pid int sig int rename const char oldpath const char newpath int mkdir const char pathname mode_t mode int rmdir const char pathname int dup int oldfd The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronic
25. eesttestessstssteesensesseessteseeessese 16 9 5 Adjust ROMFS starting AS Ss osccncuencoreerucnntncacataccaacoeaucmeqanasesmeaecxcanaun eceneubaw estan canentedseeeaanetegneaeuccetsieitons 16 9 6 Load the images to SDRAM cscs ccc eccenensdadepaantessanaaceccaceoehadeachinseaedenciaatannaeewacadsnacaea cenec stan olpaantdndesaeteeneaenigers 16 9 7 Build the production F W image of TAS scneassnszanccaxsoreuctananeseancsecntannaciadtenntwantsasacknextosoeeaaeaeaequacdaastocters 17 10 Shell and other Alp CANO ING ccna cnaizaseccccesensceaencchtuaceanadeadeentadacaandtanceseace ceed eee ofeaunteceetzaccecaasunpananteraneeeerenicee 17 I System call and Dray etna ese phen ene ea rara EE E O P E EEE Ea EREE AA ARAARA CaS Ei 21 a e E ARAM E E E E E E E TS 22 TLZ TEZER ics tovne E E E EEE E E E E RE EEEE st 22 DMM t rmios epentesia eea EEEE OEE EEA EEEE AE E EE AE A ae e iE 22 I e E SUNN E E E E T 23 TEIS SINT trae e EEE E E EEEE E E E T E EEEE a 23 TELG staliDencesisiesiieieseeos eiee e EEE Lal uaa EE EEEa E E EEE EERE EEEo 24 TMF RAM E E E E T 26 TLAS MED Disrevinenic eonen e E EEEE ESE EEEE TEA E E EERE 28 T A E E E t 0 y E EE E T A EE E E 28 a e E K O ARIS OF A E E E E E E 29 TLITI SV SUIG IIS snanar AR E RA EEEE E E OEA ANE E a 31 TALLI pthre d WC Y casscciccace conuhnseimenecenne nanena aar A E a ER 35 Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 3 The above information is the exclusive intellectual property of Wi
26. eloper wants to the do the programming of kernel module such as device drivers the kernel module can only calls the kernel functions and its associated header files Use the gcc to compile to o object files There are 2 ways to install the o object files into the kernel Method 1 Modify the makefile for the kernel add the o object file name into the link section rebuild the kernel to get a updated kernel tftp the Linux binary code to development boards Method 2 Put the o file to the romdisk build the romfs img Download it to the development board run it On the shell command prompt key in insmod XXX o the insmod will install the module into the kernel and it use the rmmod XXX to remove the module from kernel User can use Ismod to display all of the installed modules 8 Virtual debug device usage If the default console device dev console or the serial port wants to be used as other purpose such as modem this platform provides another Virtual debug device dev vddO as the console device to save the message print to stdout and strerr To enable this device it needs to configur it into the kernel Character devices gt Virtual debug device support If this configuration is selected then the CONFIG_VDD was defined on the include linux autoconf h The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permis
27. elp under shell will display the internal commands provided by shell command description usage cat Show file on screen Cat filename cd change current directory cd directory chgrp change the group chgrp GROUP FILE membership of each FILE to GROUP chmod change file directory chmod mode file dir mode chown change file directory chown group user own file dir cmp cmpare two files cmp file1 file2 The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 18 date Get set date date MMDDhhmn YYYY cp copy source to cp file1 file2 destination df Show information about df device the filesystem on which each FILE resides or all filesystems by default echo Output the ARGs or echo arguments gt redirectory to file filename exec Exec FILE replacing exec file this shell with the specified program exit Exit the shell with a exit N status of N If Nis omitted the exit status is that of the last command executed free show memory status free help show help message help hexdump hex dump file hexdump file hostname show host name hostname kill send signal to process kill s sigspec n signum sigspec pid job n or ki
28. ers Manual VERSION 1 2 PAGE 29 11 1 10 misc 11 1 10 1 11 1 10 2 11 1 10 3 11 1 10 4 11 1 10 5 11 1 10 6 11 1 10 7 11 1 10 8 11 1 10 9 11 1 10 10 11 1 10 11 11 1 10 12 11 1 10 13 11 1 10 14 eerrno 11 1 10 15 11 1 10 16 11 1 10 17 11 1 10 18 11 1 10 19 11 1 10 20 11 1 10 21 11 1 10 22 11 1 10 23 11 1 10 24 11 1 10 25 11 1 10 26 11 1 10 27 11 1 10 28 errbuf_size 11 1 10 29 11 1 10 30 11 1 10 31 11 1 10 32 11 1 10 33 void __assert const char assertion const char filename int linenumber register const char function int alphasort const void a const void b int closedir DIR dir int dirfd DIR dir DIR opendir const char name struct dirent readdir DIR dir int readdir_r DIR dir struct dirent entry struct dirent result void rewinddir DIR dir int scandir const char dir struct dirent namelist int selector const struct dirent int compar const void const void void seekdir DIR dir long int offset long int telldir DIR dir int lockf int fd int cmd off_t len int fnmatch const char pattern const char string int flags int glob const char pattern int flags int errfunc const char epath int glob_t pglob void globfree glob_t pglob int addmntent FILE filep const struct mntent mnt int endmntent FILE filep struct mntent getmntent FILE filep struct mntent getmntent_r FILE filep struct mntent mnt ch
29. int abs int j 11 1 6 17 long int labs long int j 11 1 6 18 Idiv_t Idiv long int numer long int denom 11 1 6 19 intmax_t imaxabs intmax_t j 11 1 6 20 long long int llabs long long int j 11 1 6 21 char mkdtemp char template 11 1 6 22 int mkstemp char template 11 1 6 23 char mktemp char template 11 1 6 24 int on_exit void function int void void arg 11 1 6 25 char ptsname int fd 11 1 6 26 int ptsname_r int fd char buf size_t buflen 11 1 6 27 void qsort void base size_t nmemb size_t size int compar const void const void 11 1 6 28 int rand void 11 1 6 29 int rand_r unsigned int seed 11 1 6 30 char initstate unsigned int seed char arg_state size_t n 11 1 6 31 int initstate_r unsigned int seed char arg_state size_t n struct random_data buf 11 1 6 32 long int random void 11 1 6 33 int random_r struct random_data buf int32_t result 11 1 6 34 char setstate char state 11 1 6 35 int setstate_r char arg_state struct random_data buf 11 1 6 36 void srandom unsigned int x 11 1 6 37 int srandom_r unsigned int seed struct random_data buf 11 1 6 38 char realpath const char path char resolved_path 11 1 6 39 int clearenv void 11 1 6 40 int putenv char string 11 1 6 41 int setenv const char name const char value int overwrite 11 1 6 42 void unsetenv const char name 11 1 6 43 long int strtol const char nptr
30. issiisorcnrininissiri i aia e ane e anes 54 Build th kernel and test program scyicennsdattnenntiscauaveuavsadvapsiaientadsadesasnueasensrna ete aieeaa isins Sra ia inre Ea 6 Kernel QU te reer E E E R E ES E a 6l SUM TE SEI UT AO Meser ennen e eaan ra n EE Ee EE E EEA 62 Detailed om a MeN says acest eet ieir e a E E S E AE a rE eee 6 2 1 Enable the code maturity Sel CMI i csctnjscsssieeieenvcaandelastangiaciaadedeavessslaesaianst ila testa deteeasnesiyanddscunsunten 10 O22 Veale module SUpport sisirin adgerenaetaaeaensgatigaessddenavenactaentigs a eee 10 6 2 3 Compressed FLAT file format support ZFLAT sissssorsansssinieadensernenanancaiansiendienivianrsinvedesaanoatnoaiidedwannnted 10 6 2 4 Network protocols and devices support aisiscsessninstaisnsesiaetsioninaderoerunonactansnigs aeivilamialveucerasonsaicieninn en 10 7 Kernel module programming icter eresien niening kn nans e aiae ian E oni aE eaae 12 Virtualdeb s device Usage srein enige a nei a aa aa E aden 12 9 Update Kernel and ROM File System cocccnccesccsnsexesaccassacahenstanceiantaducsoecaietzenscassaeteataasttacans maaan aes 14 De Flash CG Gril SU AON nenennsnaes a a a e 15 92 Confio ration method L sposte ideari a ea aa aaa a aaa p a eaaa Ea 15 9 3 Configuration method 2 o ssisisissiosissisriesnsisrssi aoust srai onesna ernea ddn SENE r rna Sa TSOEN NE NE REEERE aio oS iE 16 9 4 Configuration method 3 sssssssessssssesessssessessetseeessrsssessttestesssesstesstesstesstessesss
31. ll l sigspec In Create a link to the In s file1 file2 specified TARGET The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 19 Is List information about Is options the FILEs mkdir Create the DIRECTORY mkdir dirname mknod Create device file mknod type major minor more File perusal filter more filename mount Mount file system mount t type device dir mv Rename SOURCE to mv source dest DEST or move SOURCE s to DIRECTORY printenv Print environment printenv varables pid Show current process pid ps Show process ps information pwd Show current dirctory pwd quit Quit current process quit rm Remove file rm file rmdir Remove dir rmdir dir sleep sleep several seconds sleep number setenv Set environment setenv var value varable source Run command in file source file sync System sync sync touch Update the access and touch option file The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE
32. lt struct servent getservent void int getservent_r struct servent result_buf char buf size_t buflen struct servent result void setservent int f int getsockname int sockfd struct sockaddr addr socklen_t paddrlen int getsockopt int fd int level int optname __ptr_t optval long int gethostid void int sethostid long int new_id unsigned long inet_addr const char cp int inet_aton const char cp struct in_addr inp unsigned long inet_Inaof struct in_addr in struct in_addr inet_makeaddr unsigned long net unsigned long host u_int32_t inet_network const char cp u_int32_t inet_netof struct in_addr in char inet_ntoa struct in_addr in char inet_ntoa_r struct in_addr in char buf int listen int sockfd int backlog const char inet_ntop int af const void src char dst size_t cnt int inet_pton int af const char src void dst ssize_trecv int sockfd __ptr_t buffer size_t len int flags ssize_trecvfrom int sockfd __ptr_t buffer size_t len int flags struct sockaddr socklen_t tolen ssize_t recvmsg int sockfd struct msghdr msg int flags int res_init void void res_close void int res_query const char dname int class int tyoe unsigned char answer int anslen ssize_t send int sockfd const void buffer size_t len int flags ssize_t sendmsg int sockfd const struct msghdr msg int flags ssize_t sendto int sockfd const void buffer size_
33. me 11 1 11 105 int get_kernel_syms struct kernel_sym table 11 1 11 106 long quotactl int cmd char special gid_t id caddr_t addr 11 1 11 107 pid_t getpgid pid_t pid 11 1 11 108 int fchdir int fd 11 1 11 109 int bdflush int func long data 11 1 11 110 int setfsuid uid_t fsuid 11 1 11 111 int setfsgid gid_t gid 11 1 11 112 loff_t llseek int fd loff_t offset int whence 11 1 11 113 ssize_t_ getdents int fd char buf size_t nbytes 11 1 11 114 _newselect int n fd_set readfds fd_set writefds fd_set exceptfds struct timeval timeout 11 1 11 115 int flock int fd int operation The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A f 1 1 ae 1 1 1 _ ee i d inbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 34 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 int msync const void start size_t length int flags int readv int fd const struct iovec vector int count int writev int fd const struct iovec vector int count pid_t getsid pid_t pid int fdatasync int fd int sysctl int name int nlen void oldval size_t oldlenp
34. mpress it tar xzvf w90P710 tar gz 2 Use the root account su Password sh install sh 3 Specify the absolute PATH that the SDK want to install for example home W90P710 After decompress the ARM GNU development tools will be installed on the usr local arm_tools and the uClinux dist will be decompress the lt installed The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 6 directory gt W90P710 uClinux directory 4 Exit the super user mode exit 5 After the installation please logout and relogin to make sure usr local arm_tools bin is in your path if not you may set the compiler path manually export PATH usr local arm_tools bin PATH NOTE The kernel configuration may not totally match with the board it came along with Winbond provides two kernel configuration files in uClinux dist linux2 4 x wo_ev_board for evaluation board and wb_pos_ board for POS TAX demo board It is strongly urged that users load the default setting according to the target board before first time build the kernel The configuration should be loaded in kernel configuration menu Please refer to chapter 6 for detail about the kernel configuration 5 2 Files installed Four directorie
35. nbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 4 1 Introduction Winbond uClinux is an embedded Linux kernel developed based on the Linux operating system it supports the ARM hardware platform without the MMU installed It supports almost all of the functions of Linux operation system including the memory management task scheduling interrupt handling and almost all of system calls that Linux supported For the file systems the Winbond uClinux supports the ROMFS gt RAMFS gt PROC gt FAT VFAT and it can support other file system if desired ROMEFS is a Read Only file system and it is the root file system of kernel It uses for store the utilities device files and user configuration files These files need to be saved in the directory of romdisk and use the genromfs utility to generate the ROM file system image document RAMFS is a RAM based read write file system mounted to the directory usr it uses for the storing of some temporary files its contents will be lost after the power off Besides Winbond uClinux supports the TCP IP gt PPP gt UDP and others network protocols It supports the multi threads operating environment It also supports the dynamic kernel module installation and removal insmod rmmod The Winbond uClinux implemen
36. nt turn_on 11 1 11 81 int __socketcall int call unsigned long args 11 1 11 82 int _syslog int type char bufp int len 11 1 11 83 int setitimer int which const struct itimerval value struct itimerval ovalue 11 1 11 84 int getitimer int which struct itimerval value 11 1 11 85 int stat const char file_name struct stat buf 11 1 11 86 int Istat const char file_name struct stat buf 11 1 11 87 int fstat int filedes struct stat buf 11 1 11 88 int iopl int level 11 1 11 89 int vnhangup void 11 1 11 90 pid_t wait4 pid_t pid int status int options struct rusage rusage 11 1 11 91 int swapoff const char path 11 1 11 92 int sysinfo struct sysinfo info 11 1 11 93 int __ipc unsigned int call int first int second int third void ptr 11 1 11 94 int fsync int fd 11 1 11 95 int clone int fn void arg void child_stack int flags void arg 11 1 11 96 int setdomainname const char name size_t len 11 1 11 97 int uname struct utsname buf 11 1 11 98 int modify_lIdt int func void ptr unsigned long bytecount 11 1 11 99 int adjtimex struct timex buf 11 1 11 100 int mprotect const void addr size_t len int prot 11 1 11 101 int sigorocmask int how const sigset_t set sigset_t oldset 11 1 11 102 caddr_t create_module const char name size_t size 11 1 11 103 int init_module void first void second void third void fourth void fifth 11 1 11 104 int delete_module const char na
37. on the SDK Note that the functions end with _r have the same functionality as no _r appended but functions end with _t indicate that these functions are reentrant it indicates that they can be used on the multi thread operation environment without the risk of inconsistence The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 22 11 1 1 time 11 1 1 1 char asctime const struct tm timeptr 11 1 1 2 char asctime_r const struct tm timeptr char buf 11 1 1 3 clock_t clock 11 1 1 4 char ctime const time_t timep 11 1 1 5 char ctime_r const time_t timep char buf 11 1 1 6 struct tm gmtime const time_t timep 11 1 1 7 struct tm gmtime_r const time_t timep struct tm tp 11 1 1 8 struct tm localtime const time_t timep 11 1 1 9 struct tm localtime_r const time_t timep struct tm tp 11 1 1 10 time_t mktime struct tm tp 11 1 1 11 size_t strftime char s size_t maxsize const char format register const struct tm tp 11 1 1 12 void tzset void 11 1 1 13 time_t time time_t t 11 1 1 14 int stime time_t t 11 1 1 15 int ftime struct timeb tp 11 1 2 regex 11 1 2 1 int regcomp regex_t preg const char regex int cflags 11
38. rena i address 0xC00000 linux 2 4 x arch armnommu kernel setup c define MEM SIZE 12 1024 1024 make menuconfig Change the DRAM Size from 0xD00000 to 0xc00000 9 6 Load the images to SDRAM During the development stage user may choose to load images to SDRAM instead writing them to FLASH below listed the steps to do so Load ROMFS to SDRAM mt Oxd00000 or mx O0xd00000 The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond NO W90P710 uClinux User s Manual Electronics Corp VERSION Load kernel to SDRAM mt Ox8000 or mx 0x80000 Execute image g 0x8000 9 7 Build the production F W image of flash 1 2 PAGE 17 The final flash image on production can be built by the mkrom tool the mkrom tool will combine the bootloader image bootloader bin image 0 for system configuration information image 6 ROM file system image romfs img and image 7 compressed linux kernel linux zip to a final image of flash User can consult Make a Production ROM for the usage to mkrom tool 10 Shell and other applications Shell is the basic application on the Linux system default shell provided in BSP is sh sh uses the current directory as the prompting string Commands can be executed under shell It works the same way as PC Linux Key in h
39. s Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 32 11 1 11 34 int pipe int filedes 2 11 1 11 35 clock_t times struct tms buf 11 1 11 36 int setgid gid_t gid 11 1 11 37 gid_t getgid void 11 1 11 38 uid_t geteuid void 11 1 11 39 gid_t getegid void 11 1 11 40 int acct const char filename 11 1 11 41 int umount2 const char special_file int flags 11 1 11 42 int ioctl int d int request 11 1 11 438 int __libc_fentl int fd int command 11 1 11 44 int setpgid pid_t pid pid_t pgid 11 1 11 45 mode_t umask mode_t mask 11 1 11 46 int chroot const char path 11 1 11 47 int dup2 int oldfd int newfd 11 1 11 48 pid_t getppid void 11 1 11 49 pid_t getpgrp void 11 1 11 50 pid_t setsid void 11 1 11 51 int sigaction int signum const struct sigaction act struct sigaction oldact 11 1 11 52 int setreuid uid_t ruid uid_t euid 11 1 11 53 int setregid gid_t rgid gid_t egid 11 1 11 54 int sigsuspend const sigset_t mask 11 1 11 55 int sigpending sigset_t set 11 1 11 56 int sethostname const char name size_t len 11 1 11 57 int setrlimit __rlimit_resource_t resource const struct rlimit rlimits 11 1 11 58 int getrlimit int resource struct rlimit rlim 11 1 11 59 int getrusage int who struct rusage usage 11 1 11 60 int gettimeofday struct timeval tv struct timezone tz 11 1 11 61 int settimeofday const struct timeval tv const struc
40. s will be created under lt installed directory gt W90P710 uClinux Directories Comment uClinux dist W90P710 uClinux Kernel Source Code romdisk ROM File System Tree for W90P710 Board SYSTEM image Built image romfs img is the root file system image linux bin is the kernel binary execution code TestApps Test program on uClinux The arm_tools tar gz will be installed in usr local arm_tools arm_tools_ 3 3 tar gz can be installed on usr local arm_tools_3 3 by manually later if support for C is required Tools installed under usr local arm_tools bin listed below usr local arm tools bin Bin Utilities include the compiler and linker etc install sh will add it to every user s PATH etc Profile updated usr local arm tools arm elf inc Header files usr local arm tools arm elf 1ib Linkable libraries C and pthread library The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 7 5 3 Drivers and their location MAC uClinux dist linux 2 4 x drivers net w90p710_mac c UART uClinux dist linux 2 4 x drivers char w9 90p710_uart c uClinux dist linux 2 4 x drivers char w90p710_uart_l c uClinux dist linux
41. sion from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 13 then the init functions in init main c will be compiled to use the dev vdd0 as the default console ifndef CONFIG_VDD if open dev console O_RDWR 0 lt 0 printk Warning unable to open an initial console n else if open dev vdd0 O_RDWR 0 lt 0 printk Warning unable to open an initial console n endif dup 0 dup 0 execve bin sh argv_sh envp_init Open the dev vdd0 as the fd 0 the call the dup 0 twice to get the fd 1 stdout and 2 stderr then call execve to execute the user program All of the printed message will be redirected to dev vddo Following example illustrate how to check the message recorded on dev vdd0O The user program test c include lt stdio h gt int main void int i 0 while 1 printf hello fflush stdout fprintf stderr world d n itt if i 1000 i 0 return 0 Copy the compiled and executable program test to romdisk bin change it to executable permission and make a device file vdd0 The dev vdd0O use major device number 99 minor device number 0 mknod vdd0 c 99 0 The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 11
42. st char s1 const char s2 11 1 5 21 char strtok register char s register const char delim 11 1 5 22 char strtok_r char s const char delim char save_ptr 11 1 5 23 char stpcpy char dest const char src 11 1 5 24 int strcasecmp const char s const char d 11 1 5 25 char strcasestr const char str1 const char str2 11 1 5 26 int strncasecmp const char s const char d size_t 11 1 5 27 char strsep char pp const char delim 11 1 6 stdlib 11 1 6 1 void calloc size_t num size_t size 11 1 6 2 void malloc size_t len 11 1 6 3 void free void ptr 11 1 6 4 void realloc void ptr size_t size 11 1 6 5 void abort 11 1 6 6 int atexit void function void 11 1 6 7 int atoi const char nptr 11 1 6 8 long atol const char nptr 11 1 6 9 long long atoll const char nptr 11 1 6 10 void bsearch const void key const void base size_tnmemb size_tsize int compar const void const void 11 1 6 11 div_t div int numer int denom 11 1 6 12 void exit int rv 11 1 6 13 char getenv const char var 11 1 6 14 int getpt void The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 25 11 1 6 15 int grantpt int fd 11 1 6 16
43. t len int flags The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 28 const struct sockaddr to socklen_t tolen 11 1 7 68 int setsockopt int fd int level int optname const void optval socklen_t optlen 11 1 7 69 int shutdown int sockfd int how 11 1 7 70 int socket int family int type int protocol 11 1 7 71 int socketpair int family int type int protocol int sockvec 2 11 1 8 types h 11 1 8 1 isalnum c 11 1 8 2 isalpha c 11 1 8 3 isascii c 11 1 8 4 iscntrl c 11 1 8 5 isdigit c 11 1 8 6 isgraph c 11 1 8 7 islower c 11 1 8 8 isprint c 11 1 8 9 ispunct c 11 1 8 10 isspace c 11 1 8 11 isupper c 11 1 8 12 isxdigit c 11 1 8 13 toupper c 11 1 8 14 tolower c 11 1 8 15 _toupper c 11 1 8 16 _tolower c 11 1 8 17 toascii c 11 1 9 error 11 1 9 1 char strerror_r int err char retouf unsigned int n 11 1 9 2 char strerror int err 11 1 9 3 void perror const char str The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A f inbond Electronics Corp NO W90P710 uClinux Us
44. t timezone tz 11 1 11 62 int getgroups int size gid_t list 11 1 11 63 int setgroups size_t size const gid_t list 11 1 11 64 int select int n fd_set readfds fd_set writefds fd_set excepttfds struct timeval timeout 11 1 11 65 int symlink const char oldpath const char newpath 11 1 11 66 int readlink const char path char buf size_t bufsiz 11 1 11 67 int uselib const char library 11 1 11 68 int swapon const char path int swapflags 11 1 11 69 int reboot int flag 11 1 11 70 __ptr_t mmap void start size_t length int prot int flags int fd off_t offset 11 1 11 71 int munmap void start size_t length 11 1 11 72 int truncate const char path off_t length 11 1 11 73 int ftruncate int fd off_t length 11 1 11 74 int fchmod int fildes mode_t mode The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux User s Manual VERSION 1 2 PAGE 33 11 1 11 75 int fchown int fd uid_t owner gid_t group 11 1 11 76 int getpriority int which int who 11 1 11 77 int setpriority int which int who int prio 11 1 11 78 int statfs const char path struct statfs buf 11 1 11 79 int fstatfs int fd struct statfs buf 11 1 11 80 int ioperm unsigned long from unsigned long num i
45. ts the execve function to execute the FLAT file format user applications the FLAT file format is the only supported file format supported on the wbLinux kernel Winbond uCLinux software package provides the following items o Based on uClinux 2 4 20 arm elf gcc 3 0 Sample application execute under uCLinux environment e arm elf gcc 3 3 for C Applications 2 Target Processor Winbond W90P710 ARM7TDMI based MCU The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 5 3 Supported Functions Drivers Ethernet MAC four UARTs console RTC LCM smartcard controller PS2 keyboard keypad USB host controller USB mass storage device File System romfs ramfs gt proc fat gt vfat ext2 Interrupt handler timer gt UART gt net gt host controller Signal manage default signals in linux kernel SIGCHLD SIGKILL SIGALRM user defined Network Protocols TCP UDP IP 4 Development Platform Linux environement with a RedHat 6 x or higher version of Linux installed host computer with at least 800 MB free disk space 5 Installation Procedure Login a Linux PC 5 1 Install the tools and development 1 Copy the W90P710 tar gz to development directory and then deco
46. tsearch const void key void vrootp __compar_fn_t compar void tfind const void key void const vrootp __compar_fn_t compar void tdelete const void key void rootp int compar const void const void void twalk const void root void action const void nodep const VISIT const int depth void Ifind const void key const void base size_t nmemb size_t size int compar const void const void void Isearch const void key void base size_t nmemb size_t size int compar const void const void void insque struct qelem elem struct qelem prev void remque void elem int statvfs const char file struct statvfs buf int fstatvfs int fd struct statvfs buf void closelog void void openlog const char ident int logstat int logfac int setlogmask int pmask void syslog int pri const char fmt void vsyslog int pri const char fmt va_list ap int semget key_t key int nsems int semflg int semctl int semid int semnum int cmd int semop int semid struct sembuf sops size_t nsops void shmat int shmid const void shmaddr int shmflg int shmctl int shmid int cmd struct shmid_ds buf int shmdt const void shmaddr int shmget key_t key size_t size int shmflg int msgctl int msgid int cmd struct msqid_ds buf int msgget key_t key int msgflg int msgrcv int msgid void msgp size_t msgsz long int msgtyp int int msgsn
47. v ttyS1 COMB W90P710 COM 2 dev ttyS2 COMC W90P710 COM 3 dev ttySs3 COMD W90P710 COM 4 dev rtc RTC Real Time Clock The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond NO W90P710 uClinux Users Manual Electronics Corp VERSION 1 2 PAGE 8 dev smartcard0 Smart Card Module Smart Card Slot 0 dev smartcardl Smart Card Module Smart Card Slot 1 dev sd SD Card device SDIO Module dev i2c0 12C 12C Module dev i2c1 12C 12C Module dev keypad Keypad W90P710 Keypad dev video0 LCM W90P710 LCD dev video2 VFD W90P710 VFD 5 4 Build the kernel and test program Build kernel cd lt installed directory gt uClinux dist make clean make dep make The built image linux bin will be copied to image Build W90P710 test program Enter any folder under TestApps type command make then a new image file romfs img will be found at folder image Or you can use the following commands to generate a new image file genromfs d romdisk f romfs img There are 2 methods to execute the application programs One is enter the shell command prompt after system start up key in the application program name and execute it Another way is to put the application program name in a file named
48. vfscanf FILE stream const char format va_list ap 11 1 5 string 11 1 5 1 11 1 5 2 size_t strcspn register const char string const char set size_t strlen const char str The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed distributed or reproduced without permission from Winbond Table No 1110 0001 08 A Winbond Electronics Corp NO W90P710 uClinux Users Manual VERSION 1 2 PAGE 24 11 1 5 3 char strcat char d const char s 11 1 5 4 char strcpy char d const char s 11 1 5 5 int stremp const char d const char s 11 1 5 6 char strncat char d const char s size_t 11 1 5 7 char strncpy char d const char s size_t 11 1 5 8 int strncmp const char d const char s size_t 11 1 5 9 char strchr const char s int c 11 1 5 10 char strrchr const char s int c 11 1 5 11 char strdup const char s 11 1 5 12 void memcpy void d const void s size_t 11 1 5 13 void memccpy void d const void s int c size_t l 11 1 5 14 void memchr const void str int c size_t l 11 1 5 15 void memset void str int c size_t 11 1 5 16 int memcmp const void s const void d size_t 11 1 5 17 void memmove void d const void s size_t l 11 1 5 18 char strpbrk register const char str const char set 11 1 5 19 size_t strspn const char s const char accept 11 1 5 20 char strstr con

Download Pdf Manuals

image

Related Search

Related Contents

USER FUNCTIONS DESCRIPTION    Quickie® TS Owner`s Manual  Samsung Aire acondicionado tipo ventana 11S-INNO con Turbo Cooling, 12,000 BTU/h Manual de Usuario  Los textos instructivos  Frequently Asked Questions  

Copyright © All rights reserved.
Failed to retrieve file