Home
UEIPAC Software Development Kit User Manual 2.6.0
Contents
1. ul E C C Remote A Connection UEIPAC New Properties c Sample201 i E Sample207 Project MN I Eclipse Applicatio Sample207 Browse E Java Applet 3 Java Application C C Application Ju JUnit C Cygwin home frederic uei ueipac 2 0 0 sdk DAQLit Search Project Browse g i Jt JUnit Plug in Test 2 Jython run Remote Absolute File Path for C C Application 2 Jython unittest tmp Sample207 Browse 4 OSGi Framework Z Python Coverage A Python Run T 4 m r Filter matched 15 of 15 items E Skip download to target path Apply Revert a Enter a name for this new launch configuration Set the Connection to UEIPAC previously defined Verify that the project is set properly or press Browse to select the right project Verify that the C C Application is set to the binary built from your project Set the Remote Absolute File Path to the path of the executable on the remote target Press Run to download the binary to the UEIPAC and execute it You will see the result in the Console 15 UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative C C Sample207 Sample207 c Eclipse SDK XXIII File Edit Refactor Navigate Search Run Project Window Help ri galB d S l G iA 5 9 0 Q HE Bege Bip prv 5 T Project Explorer 53 El 8 Sample207 c 53 A outl
2. We will use SSH as remote shell to control the UEIPAC Select ssh shells and click on Finish The UEIPAC will now appear in the Remote Systems pane on the left Let s test the connection by navigating files on the UEIPAC file system Click on UEIPAC Files Root 10 UEIPAC SDK User Manual y x United Electronic b d Industries The High Performance Alternative Enter Password System type Linux Host name 192 168 100 2 User ID root Password Seietok Enter root as User ID and Password 11 y x United Flectronic b d Industries The High Performance Alternative UEIPAC SDK User Manual C C Sample201 Sample201 c Eclipse Pl File Edit Refactor Navigate Search Run Project wv jw m iu e ld G 27 8 Bl Qe ERS Project Explorer 23 E A Sample201 B i i2 includ 3 tS Sample201 a rz rs Includes He Sample201 c int sto Makefile d Sample201 z ff Hand ee void ha sto rz th Local Files D ases t Local Shells if SY verrac ieee h PDN 5 My Home int S F Root int amp amp uin 9 bin lt sca Cramp E home FTP log 192 16 amp j C3 lib NOOP H E lost found 200 NOOP c O prac H O sbin NOOP amp CJ sys 200 NOOP c E tmp a usr NOOP H O var 200 NOOP c H O www cm WP LI nn Select UEIPAC Shell Process All Processes to view the processes running on the UEIPAC y x United Flec
3. 4 Transferring files You can use either NFS FTP SSH or TFTP to transfer files between your host PC and the UEIPAC 4 1 NFS If you have a NFS server running on your development machine you can mount a shared directory on the UEIPAC This will make the shared directory available on the UEIPAC local file system To mount a shared directory for example shared located on host at 192 168 100 1 mounted on mnt mount o nolock t nfs 192 168 100 1 shared mnt nfs_share After typing this command all files present in the host PC directory shared will also be accessible on the UEIPAC s mnt nfs_share directory 4 2 FTP Client To connect to an external FTP server from the UEIPAC use the commands ftpput and ftpget To retrieve a file from an FTP server ftpget u lt username gt p lt password gt lt FTP server IP address gt lt local file name gt lt remote file name gt To send a file to an FTP server ftpput u lt username gt p lt password gt lt FTP server IP address gt lt remote file name gt lt local file name gt 4 3 FTP Server The UEIPAC comes with the vsftpd FTP server The server is active by default You can login as root with password root You get read and write access to the entire file system 4 4 SSH The UEIPAC also comes with the SSH server dropbear preinstalled Use the command scp to transfer a file between your PC and the UEIPAC To send a file to
4. Initialization miscellaneous API Those APIs are used to initialize the library obtain a handle on the kernel driver and perform miscellaneous tasks such as translating error code to readable messages DgInitDAQLib DqCleanUpDAQLib DqOpenIOM DqCloselOM DqTranslateError All DqCmd APIs Immediate mode API Those APIs are used to read write I O layers in a software timed fashion They are designed to provide an easy way to access I O layers at a non deterministic pace Each I O layer comes with its own set of immediate mode APIs For example you will use the DqAdv201 APIs to control an AI 201 All DqAdvXYZ APIs where XYZ is the model number of a supported I O layer are supported on the UEIPAC DMAP API In DMAP mode the UEIPAC continuously refreshes a set of channels that can span multiple layers at a specified rate paced by a hardware clock Values read from or written to each configured channel are stored in an area of memory called the DMAP At each clock tick the firmware synchronizes the DMAP values with their associated physical channels 43 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Supported APIs to use RTDMAP mode are DqRtDmap Here is a quick tutorial on using the RTDMAP API handling of error codes is omitted Initialize the DMAP to refresh at 1000 Hz DqRtDmapInit handle amp dmapid 1000 0 Add channel 0 from the first input subsystem of
5. The High Performance Alternative Direct connection to another computer in ad hoc mode Specify that you want to connect in ad hoc mode iwconfig wlanO mode ad hoc Set the ESSID of the access point iwconfig wlanO essid name of your access point Bring up wifi interface ifconfig wlanO up If there is a DHCP server on your network get an IP address for your wifi interface udhcpc i wlanO s etc udhcp default script Otherwise assign a static IP address to your wifi interface ifconfig wlanO 192 168 100 3 netmask 255 255 255 0 route add default gateway 192 168 100 1 5 3 UMTS GSM modem The UEIPAC comes with drivers for Sierra Wireless modems The UEIPAC supports USB modems connected to the UEIPAC USB port and embedded mini pci express modems connected to a CAR 550 carrier card This manual focuses on using a Sierra wireless MC8790 card that offers UMTS HSPA and quad band GSM GPRS EDGE network access for roaming on high speed networks worldwide Prerequisite You need to purchase a data plan with a cell phone provider that supports UMTS and or GSM GPRS ATT and T Mobile provide such a service in the USA Once you purchased a data plan you will receive a SIM card that you need to insert in the CAR 550 before being able to establish a connection Don t forget to activate your account as soon as you receive your SIM card usually done over the phone or on line Manual configuration 28 UEIPAC SDK User Manual
6. PS Project Explorer 23 A Sample201 c 33 amp Makefile O B Outlin 23 Make O EI amp ov a tinclude ParseParams h el uwe 3 E Sample201 l stdio h E K Includes Ji signal h amp amp e Sample201 c int stop sched h A Malefila se netinetjin h unistd h sys time h PDNA h ParseParams h stop int handler int void c X Handler for SIGINT t ls void handler int sig J 3 j B ES Local stop 1 i bar Local Files j 3 Local Shells 2 uerpac ty Files EL Problems 4 Tasks EJ Console C Properties Terminals 3 here 2B UEIPAC 52 Sh 4 S F Root gt es Sa i amp Shell Processes T Ssh Shells BusyBox v1 13 3 2009 04 29 09 50 58 EDT built in shell ash on S4 Ssh Terminals Enter help for a list of built in commands E UEIPAC e OLEEEEEEE lt we win Sink ab hE TA tek cd tmp tmp Sample201 Execute program Select the Run gt Show Run Dialog menu option to open the Run dialog box Select the C C Remote Application option and press the New button to create a new remote launch configuration 14 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative Run Configurations Create manage and run configurations Q Rexe ype fiter tex c C C Local App Name Sample207 E Main 69 Arguments Debugger amp Source E Common
7. I UEIPACROOT includes c myprogram c Then link your program use the L option to tell the linker where the PowerDNA API library is and the l option to tell the linker to link against the PowerDNA library powerpc 604 linux gnu gcc L UEIPACROOT includes lpowerdna myprogram o o myprogram 46 UEIPAC SDK User Manual p x United Electronic Industries The High Performance Alternative The PowerDNA API is implemented in two libraries e libpowerdna so implements the PowerDNA API for regular Linux processes e libpowerdna_rt so implements the PowerDNA API for real time tasks 8 5 Real Time Programming The UEIPAC comes with support for the Xenomai Real time framework see http www xenomai org Xenomai is a real time development framework cooperating with the Linux kernel in order to provide hard real time support to user space applications seamlessly integrated into the Linux environment Xenomai uses the flow of interrupts to give real time tasks a higher priority than the Linux kernel e When an interrupt is asserted it is first delivered to the real time kernel instead of the Linux kernel The interrupt will be later also delivered to the Linux kernel when the real time kernel is done e Upon receiving an interrupt the real time kernel can schedules its real time tasks e Only when the real time kernel is not running anything will the interrupt be passed on to the Linux kernel e Upon receiving the interrupt
8. MPC52xx BestComm engine f0001200 ok NET Registered protocol family 2 IP route cache hash table entries 1024 order 0 4096 bytes TCP established hash table entries 4096 order 3 32768 bytes TCP bind hash table entries 4096 order 2 16384 bytes TCP Hash tables configured established 4096 bind 4096 TCP reno registered NET Registered protocol family 1 audit initializing netlink socket disabled type 2000 audit 0 208 1 initialized I pipe Domain Xenomai registered Xenomai hal powerpc started Xenomai real time nucleus v2 4 7 Andalusia loaded Xenomai starting native API services Xenomai starting POSIX services Xenomai starting RTDM services VFS Disk quotas dquot 6 5 1 Dquot cache hash table entries 1024 order 0 4096 bytes msgmni has been set to 247 io scheduler noop registered io scheduler anticipatory registered default io scheduler deadline registered io scheduler cfq registered Generic RTC Driver v1 07 Serial MPC52xx PSC UART driver f0002000 serial ttyPSCO at MMIO Oxf0002000 irq 129 is a MPC52xx PSC brd module loaded loop module loaded net ethO Fixed speed MII link 100FD MPC52xx SPI interface probed at OxfO0000f00 irg0 141 irqi 142 mpc52xx spi init mmc SDCard is now ready mpc52xx mmcO p1 mice PS 2 mouse device common for all mice 13 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative TCP cubic register
9. PowerPC Linux Kernel Image gzip compressed Data Size 1442840 Bytes 1 4 MB Load Address 00400000 Entry Point 004005e0 Verifying Checksum OK Uncompressing Kernel Image OK Using ueipac5200 machine description Linux version 2 6 28 5 ueipac5200 fredericQfrederic ubuntu64 gcc version 4 0 2 1 PREEMPT Fri May 1 10 31 32 EDT 2009 Zone PFN ranges DMA 0x00000000 gt 0x00008000 Normal 0x00008000 gt 0x00008000 HighMem 0x00008000 gt 0x00008000 Movable zone start PFN for each node early node map 1 active PFN ranges 0 0x00000000 gt 0x00008000 Built 1 zonelists in Zone order mobility grouping on Total pages 32512 12 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Kernel command line console ttyPSC0 57600 root 62 1 rw MPC52xx PIC is up and running PID hash table entries 512 order 9 2048 bytes clocksource timebase mult 79364d9 shift 22 registered I pipe 2 4 04 pipeline enabled Console colour dummy device 80x25 console ttyPSCO enabled Dentry cache hash table entries 16384 order 4 65536 bytes Inode cache hash table entries 8192 order 3 32768 bytes Memory 126376k 131072k available 2808k kernel code 4548k reserved 116k data 436k bss 152k init Calibrating delay loop 65 53 BogoMIPS 1pj 32768 Mount cache hash table entries 512 net namespace 292 bytes NET Registered protocol family 16 DMA MPC52xx BestComm driver DMA
10. Rx invalid nwid 0 Rx invalid crypt 0 Rx invalid frag 0 Tx excessive retries 0 Invalid misc 0 Missed beacon 0 Connection to an open access point Specify that you want to connect as a client to a network with an access point iwconfig wlanO mode managed Set the ESSID of the access point iwconfig wlanO essid name of your access point Bring up wifi interface ifconfig wlanO up You can now scan the access points accessible by your wifi interface iwlist wlanO scan If there is a DHCP server on your network get an IP address for your wifi interface udhcpc i wlanO s etc udhcp default script Otherwise assign a static IP address to your wifi interface ifconfig wlanO 192 168 100 3 netmask 255 255 255 0 route add default gateway 192 168 100 1 Connection to an access point with WEP security The procedure is almost identical to connecting to an open access point In addition you need to specify your WEP key iwconfig wlanO key WEP key in hexadecimal gt 128 bit WEP use 26 hex characters 64 bit WEP uses 10 26 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Connection to an access point with WPA WPA2 security Generate the pre shared key using the access point s password wpa_passphrase lt name of your access point gt lt access point password gt Edit the file etc wpa_supplicant conf and update the ssid and psk entry to match the key generated by wpa_passphras
11. double scaledBuffer The buffer containing the scaled data to send to the device Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative DQ_SUCCESS command processed successfully Description Write scaled data to the output map of the specified device Note The data written will be actually transferred to the device on the next call to DqRtDmapRfresh This function should only be used with devices that generate analog data such as the AO 3xx series DqRtDmapWriteRawData16 Syntax int DqRtDmapWriteRawDatai6 int handle int dmapid int dev unsigned short rawBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located int bufferSize Number of elements in rawBuffer unsigned short rawBuffer The buffer containing the raw data to write to the device Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Write 16 bits wide raw data to the specified device Note The data written will be actually transferred to the device on the next call to DqRtDmapRfresh This function should only be used with devices that generate 16bits wide digital data such as the AO 3xx series DqRtDmapWriteRawDat
12. mount dev cdrom mnt cdrom cd mnt cdrom bash install sh 2 3 SDK directory layout powerpc 604 linux gnu the GCC cross compiler doc the manuals in PDF and HTML format kernel the kernel source code and binary image rfs tgz archive containing the root file system installed on the SD card ulmage the kernel image stored in your UEIPAC flash memory sdk the UEIPAC software development kit 10 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 3 Configuring the UEIPAC Your PowerDNA PowerDNR hardware must be pre configured to run Linux A Linux kernel is loaded in flash memory e An SD card containing the root file system is inserted Contact UEI to convert your PowerDNA PowerDNR hardware to a UEIPAC if it is configured with the standard DAQBIOS firmware 3 1 Connecting through the serial port Note that the serial port on the CPU layer is used as a console by default However you can free that serial port and use it as a general purpose serial port see section Connect the serial cable to the serial port on the UEIPAC and the serial port on your PC You will need a serial communication program Windows ucon MTTTY PuTTY or HyperTerminal e Linux minicom kermit or cu part of the uucp package The UEIPAC uses the serial port settings 57600 bits s 8 data bits 1 stop bit and no parity Run your serial terminal program and configure the serial communic
13. 10 0 tS SampleDMAP int ret i Bins int i j msgCount i Includes struct timeval tv1 tv2 double duration SampleDMAP c int hde s SampleDMAP ppc be uint32 datarx 100 B SampleDMAP o ppc be uint32 sched cmd 256 0 FPES uint32 sched data 256 09 cem uint32 sched from 0 uint erhed ciza A 48 Remote Systems 4 ef talco eels Ej Local E Problems 4 Tasks El C 4 UEIPAC DT Global Build Console vae make all 3 My Home powerpc 604 linux gnu gcc g Wall D GNU SOURCE I 3 Root C cygwin home frederic uei ueipac 2 4 3 include c SampleDMAP c o SampleDMAP o Em Shell Processes powerpc 604 linux gnu gcc lpowerdna lpthread L E Ssh Shells C cygwin home frederic uei ueipac 2 4 3 lib SampleDMAP o o SampleDMAP a Build Finished Download program to target Add a Remote Systems view to your current perspective Select the menu Window Show View Other UEIPAC SDK User Manual y x United Electronic Industries vY The High Performance Alternative type filter text gt amp Debug gt amp Git gt E Help gt Make gt amp Mylyn 4 amp Remote Systems af Remote Monitor f Remote Scratchpad f Remote Search i Remote Shell 4f Remote System Details A Remote Systems 3s Team 48 Terminals gt amp Team Select Remote Systems and Click on O
14. C programming If you are already using Eclipse for java programming for example you can keep your existing Eclipse and just install the additional plug ins CDT C C developer tools and TM Target management Otherwise download the Eclipse IDE for C C developers package available at http www eclipse org downloads Unzip the package in a folder of your choice for example c eclipse under Windows or opt eclipse under Linux and run the program eclipse exe to start Eclipse Set up preferences Edit Eclipse preferences to add the path to the cygwin tools such as make and the UEIPAC cross compiler Select the menu option Window Preferences then click on C C Build Environment Add a variable named PATH with value set to the cygwin bin directory and the powerpc 604 linux gnu bin directory For example c cygwin bin c cygwin home fred uei ueipac 2 5 1 powerpc 604 linux gnu bin Add a variable named UEIPACROOT with value set to the UEIPAC SDK install directory For example c cygwin home fred uei ueipac 2 5 1 y x United Electronic b d Industries The High Performance Alternative UEIPAC SDK User Manual E X Preferences type filter text General C C Appearance Autotools Build Build Variables Console Environment Logging Make Targets Makefile Editor Settings Code Analysis Cade Chila Environment Environment variables to set Variable c cygwin bin C cygwin hom
15. E L2 rt Bee 8 Sample207 C C Remote Application powerpc 604 linux gnu gdb 5 12 09 4 49 PM lib 1ld so 1 No such file or directory Stopped due to shared library event No symbol Communication in current context DgInitDAQLib ParseParameters argc argv amp params signal SIGINT handler open communication with IOM if et DqoOr 127 0 0 1 UDP_DAQ POR IM D printf Error td In Initializing Communication with IOM n return ret m r ESEA 4 n Writable Smart Insert 60 1 You can now execute the program step by step pressing the keys F5 and F6 More information about debugging programs is available in Eclipse s online help Select the menu option Help Help content 19 United Electronic Industries The High Performance Alternative UEIPAC SDK User Manual Help Eclipse SDK Search GO Search scope All topics og amp e E Soa eo le WG oO Java development us Platform Plug in Dev JDT Plug in Develop Plug in Developmen Bl C C Development B Before you begin E QA Getting Started B Preparing the V B Creating a simp B Creating a proj B Importing an B Building a proje B Importing C C TA Concepts GI Tasks r Workbench User Gui Blal v C C Development User Guide gt Getting Started Debugging a project The debugger lets you con
16. Read raw data from the specified device as 16 bits integers Note The data read is the data transferred by the last call to DgRtDmapRefresh UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative This function should only be used with devices that acquire 16bits wide digital data such as the AI 201 DqRtDmapReadRawData32 Syntax int DqRtDmapReadRawData32 int handle int dmapid int dev unsigned int rawBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located int bufferSize Number of elements in rawBuffer Output unsigned int rawBuffer The buffer containing the raw data Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Read raw data from the specified device as 32 bits integers Note The data read is the data transferred by the last call to DgRtDmapRefresh This function should only be used with devices that acquire 32 bits wide digital data such as the DIO Axx serie DqRtDmapWriteScaledData Syntax int DqRtDmapWriteScaledData int handle int dmapid int dev double scaledBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located int bufferSize Number of elements in scaledBuffer
17. device 1 chentry 0 DqRtDmapAddChannel handle dmapid 1 DQ SSOIN amp chentry 1 Add channel 1 from the first output subsystem of device 3 chentry 1 DqRtDmapAddChannel handle dmapid 3 DQ SSOOUT amp chentry 1 Start all devices that have channels configured in the DMAP DqRtDmapStart handle dmapid Update the value s to output to device 3 outdata 0 5 0 DqRtDmapwriteScaledData handle dmapid 3 outdata 1 Synchronize the DMAP with all devices DqRtDmapRefresh handle dmapid Retrieve the data acquired by device 1 DqRtDmapReadScaledData handle dmapid 1 indata 1 Stop the devices and free all resources DqRtDmapStop handle dmapid DqRtDmapClose handle dmapid Refer to Appendix A for detailed documentation of each RTDMAP function VMAP API In VMAP mode the UEIPAC continuously acquires updates data in buffers Each layer is programmed to acquire update data to from its internal FIFO at a rate paced by its hardware clock The content of all the layer s FIFOs is accessed in one operation Supported APIs to use VMAP mode are DqRtDmap and DqRtVmap Initialize the VMAP to acquire generate data at 1kHz 44 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative DqRtVmapInit handle vmapid 1000 0 Add channels from the first input subsystem of device 0 int channels 0 1 2 3 Y DgRtVmapAddChannel handle vmapid 0 DQ SSOIN cha
18. e Archive tools to create and read archives files such as zip bx2 and tar e Devel Development tools such as make e Net Network utilities such as ftp tftp and telnet Click on the Default word next to each category you want to install The displayed string will change to Install UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative Cygwin Setup Select Packages SEE Select Packages Select packages to install Category Current B 5 Size EJ All amp Default Accessibility amp Default Admin 4 Default Audio amp Default Base amp Default Database amp Default Doc amp Default Editors amp Default Games 4 Default Gnome 4 Default Graphics amp Default Interpreters x Default KDE amp Default Libs amp Default Mail 4 Default Math amp Default Mingw amp Default Perl amp Default 1 Deum s DE RS IE C ii Hide obsolete packages Insert the UEIPAC SDK CDROM in your CD drive Then open a cygwin command line shell Go to the CD s root directory the example below assumes that the CD ROM is the D drive cd cygdrive d UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative install sh 2 2 Linux Host Insert the UEIPAC SDK CDROM in your CD drive You might need to mount it if your Linux distribution doesn t detect the CDROM automatically To mount it type
19. eruta 53 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Configure UEIPAC with Freescale 5200 CPU to run DAQBios firmware 53 Configure UEIPAC with Freescale 5200 CPU to run Linux 53 Configure UEIPAC with Freescale 8347 CPU to run DAQBios firmware 54 Configure UEIPAC with Freescale 8347 CPU to run Linux 54 Ursi dubi dr ii ia le iid Nc 1 Ier ener nia BID C NN RR RERO 1 Rosie ETE SLIDE eem 2 Do Rrap RA i heen stiches i d ala a UM a V DU Les dad 2 DabkiDinnapiet Jte VIA una wert rarae cta imu St eae x Ea Ex 3 LicBitunaptoer NUM NEB iia ast cost o db Chl iiU e oaa aue itia 3 DEBT ey A acl ia eae da aan nes 3 OR PP Ta UG usd Dalal KR 4 pn TR Nr er 5 DoRtDmapi i d ESL TETUER 5 eB nie DEED ainiai aai 6 DGRtDMmapWiteCRawData32 cccccccccsssscccccssscescessssescnsusesseususesseususesseususesseusessuseseusssauess 6 ETA IR si ci ce et i legac aa TN Z Is oC ineo iti RuiPeeeee i DOR ORAS Eb e en cee ES 1 Using Eclipse IDE to program the UEIPATC 1 UEIPAC SDK User Manual United Flectronie Industries The High Performance Alternative UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 1 Introduction The U
20. specific parameter Return DQ ILLEGAL HANDLE invalid IOM handle DQ SUCCESS command processed successfully Description Configure hardware to notify the specified event Possible events are DqEmbEventSyncIn Digital edge at the syncin connector set param to 0 for rising edge or 1 for falling edge DqEmbEventTimer Timer event set param to desired frequency DqEmbWaitForEvent Syntax int DqEmbWaitForEvent int handle int timeout DQ EMBEDDED EVENT event Input int handle Handle to the IOM int timeout Timeout in milliseconds DQ EMBEDDED EVENT event Received event Return DQ ILLEGAL HANDLE invalid IOM handle DQ SUCCESS command processed successfully Description Wait for any configured event to occur If no event happens before the timeout expiration the function returns the event DqEmbEventTimeout DqEmbCancelEvent UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Syntax int DqEmbCancelEvent int handle DQ EMBEDDED EVENT event Input int handle Handle to the IOM DQ_EMBEDDED_EVENT event Event to cancel Return DQ_ILLEGAL_HANDLE invalid IOM handle DQ_SUCCESS command processed successfully Description Cancel specified event UEIPAC SDK User Manual p x United Electronic Industries The High Performance Alternative Using Eclipse IDE to program the UEIPAC Download and Install Eclipse There are several ways to install Eclipse with support for C
21. the UEIPAC to automatically fetch an IP address when it boots up Edit the file etc network conf and change the line DHCP no To DHCP yes You must restart the network to activate the change etc init d network restart Name resolution If your UEIPAC uses a static address you need to edit the file etc resolv conf to add the IP address of your DNS server If your UEIPAC uses DHCP the etc resolv conf file is automatically populated and name resolution will work right away Connecting through Telnet Once the IP address is configured you shouldn t need the serial port anymore You can use telnet to access the exact same command line interface Type the following command on your host PC then login as root The password is root telnet lt UEIPAC IP address gt Type the command exit to logout Connecting through SSH Type the following command on your host PC The password is root ssh root lt UEIPAC IP address gt 18 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Type the command exit to logout You can avoid typing the password each time you login using SSH keys 1 Create private and public SSH keys on your host PC ssh keygen t dsa 2 Copy the public key to ssh on the UEIPAC scp ssh id_dsa pub root lt IP address gt ssh authorized_keys 3 You can now log on the UEIPAC without password 3 4 Configuring Date an
22. the kernel message above we see that the USB mass storage device s first partition is using the device node sda1 You can mount the file system located on this device with the command mount dev sdai mnt The files are now accessible under the directory mnt You must un mount the file system before un plugging the device to avoid file corruption umount mnt 5 2 Wifi network interface The UEIPAC comes with drivers for Wifi network usb interfaces that use the following chipsets e Realtek RTL8187 e Ralink RT2570 RT2571 Load kernel modules At the command line prompt type one of the following commands depending on your wifi chipset modprobe rt18187 modprobe rt200xusb modprobe rt2500usb modprobe rt73usb Wifi network interface are names wlan0 wlan1 etc The iwconfig utility is used to configure wifi communication parameters You can verify that your interface was properlt detected by typing the command iwconfig A new entry wlan0 should appear lo no wireless extensions etho no wireless extensions 25 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative eth1 no wireless extensions wmasterO no wireless extensions wlano IEEE 802 11bg ESSID Mode Managed Frequency 2 412 GHz Access Point Not Associated Tx Power 0 dBm Retry min limit 7 RTS thr off Fragment thr 2352 B Encryption key off Power Management off Link Quality 0 Signal level 0 Noise level 0
23. tools installed e git e make e patch e UBoot mkimage Use the package manager of your linux distribution to install those tools For example use the following commands on Ubuntu sudo apt get install git sudo apt get install make sudo apt get install patch sudo apt get install uboot mkimage Download and patch kernel source At a command prompt change the current directory to lt UEIPAC SDK directory gt kernel The UEIPAC kernel includes Xenomai real time extension The first step is to download and build Xenomai Run the build_xenomail sh script build_xenomai sh Then run the get_kernel sh script with the option cpu set to the CPU of your UEIPAC For UEIPAC 300 UEIPAC 600 get kernel sh cpu 5200 For all other UEIPACs get_kernel sh cpu 834x This script might take a long time to execute depending on the speed of your internet connection Once the script is finished you will find a new directory linux DENX v2 6 28 5 containing the kernel source with Xenomai and UEIPAC patches applied 23 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Configure and build the kernel for UEIPAC 300 and UEIPAC 600 Change the current directory to the linux source directory ils Configure kernel with default settings make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu 52xx ueipac5200 defconfig 2 Customize kernel configuration make ARCH powerpc CROSS COMPIL
24. DK User Manual y x United Electronic Industries The High Performance Alternative User Application PowerDNA Drivers FO CPU eet Al layer AO layer UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 2 Setting up a development system A development system is composed of the software tools necessary to create an embedded application targeting Linux on a PowerPC processor The development tools can run on a Linux PC or on a Windows PC using the Cygwin environment It contains the following e GCC cross compiler targeting the UEIPAC PPC processor e GNU toolchain tools such as make e Standard Linux libraries such as glibc PowerDNA library to access the various PowerDNA data acquisition devices 2 1 Windows Host The UEIPAC cross compiler depends on libraries provided by the Cygwin project Cygwin is a collection of tools which provide a Linux look and feel environment for Windows and a DLL which acts as a Linux API layer providing substantial Linux API functionality Cygwin is available for free as an open source project but you can also purchase a commercial license with technical support from Red Hat http www redhat com services custom cygwin If you don t have Cygwin already installed download and run the installer setup exe from http www cygwin com Running setup exe will install or update Cygwin We need the packages from the following categories
25. E powerpc 604 linux gnu menuconfig 3 Compile the kernel make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu cuImage ueipac5200 You can find the build kernel in arch powerpc boot cuImage ueipac5200 Configure and build the kernel for UEIPAC 300 1G UEIPAC 600 1G and RACK versions Change the current directory to the linux source directory ils Configure kernel with default settings make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu 83xx ueipac834x defconfig 2 Customize kernel configuration make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu menuconfig 3 Compile the kernel make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu culmage ueipac834x 4 Compile modules make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu modules 5 Install modules make ARCH powerpc CROSS COMPILE powerpc 604 linux gnu INSTALL MOD PATH Your module install path modules install You can find the built kernel in arch powerpc boot cuImage ueipac834x and the modules in whatever directory you assigned to the INSTALL MOD PATH variable 24 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Converting older root file system to read only Modify RFS on SD card 1 Edit etc fstab as follow to mount a ram disk at var ram disk maximum size is set to 2MBytes dev sdcardi ext3 defaults noatime 1 1 none proc proc defaults 0 0 none SyS sysfs defaults 0 0 none dev pts devp
26. EIPAC extends the capability of the PowerDNA and PowerDNR distributed data acquisition systems With the UEIPAC you can create programs that will execute directly on the PowerDNA or PowerDNR hardware You can create standalone applications that don t require any host PC to control and monitor your hardware A Linux kernel replaces the standard DAQBIOS firmware in flash memory and uses a SD Card as its local file system This file system contains the other components of the operating system such as libraries utilities init script and daemons After power up you have a ready to go Linux operating system with FTP and web servers as well as a command line shell accessible from either the serial port or telnet and SSH over the network You can also configure the UEIPAC to execute your application after booting up Your application runs as a regular Linux process giving you access to the standard POSIX API provided by the GNU C runtime library glibc as well as any other library that can be compiled for Linux for example libxml libaudiofile The UEIPAC SDK comes with a library dedicated to communicate with the UEIPAC I O layers It provides a subset of the hosted PowerDNA API allowing you to reuse existing programs that were designed to run on a host PC and communicate with PowerDNA over the network see section 7 4 for more informations You can port those programs to run directly on the UEIPAC with few modifications UEIPAC S
27. IO and dev ttyUEI1 We will assume that the two serial ports are connected with a NULL modem cable Open two separate command line shells and start the minicom program for each of the Serial ports you wish to test microcom s 19200 dev ttyUEIO microcom s 19200 dev ttyUEI1 If both serial ports are tied with a NULL modem cable anything you type in one of the session will appear on the other session 6 2 Using the CPU layer s serial port for general purpose Edit the file etc inittab and add the character in front of the line ttyS0 respawn bin sh 35 UEIPAC SDK User Manual y x United Electronic Industries vY The High Performance Alternative Then reboot This will disable the serial console and let you control the serial port from your program using the POSIX termios API 36 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 7 Testing the I O layers 7 1 devtbl Run the command devtbl it will print a list of the I O layers that were detected on this module PowerDNA Driver version 2 1 0 Address Irq Model Option Phy Virt S N Pri LogicVer 0xc9080000 7 207 1 phys 0027887 602 0c 05 0xc9090000 7 403 1 phys 0030384 02 0c 05 0xc90a0000 7 403 1 phys 0030385 02 0c 05 0xc90b0000 7 501 1 phys 0029693 02 0c 05 0xc90c0000 7 601 1 phys 0030279 02 0c 05 7 2 Run examples All the examples were compiled during the insta
28. K In the Remote Systems view click the Define a connection to a remote system button UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative Remote System Explorer HelloDNA src HelloDNA c Eclipse SD File Edit Refactor Navigate Search Project Run Window Help n Gl Mm i 0 QqQ i4 id sl 9 7 8 son E 2 B B 7 jt g a Local Define a connection to remote systei nae m mE 5 amp 9 Local el Define a connection to remote system ame or Local Shells Author Version HF Remote Systems 52 S5 Team Copyright riptic include lt lt include lt lt include F New Connection Select Remote System Type Any distribution of Linux System type type Filter text amp General f FTP Only Linux EB Local EX 55H Only E gt Telnet Only Experimental Unix Unix A amp I Windows Select Linux then click on Next UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative New Connection Remote Linux System Connection Define connection information Parent profile Fvilleneuve64 v Host name 192 168 100 2 x Connection name UEIPAC Description Verify host name Enter the IP address of your UEIPAC as Host Name and pick a Connection name Click on Next UEIPAC SDK User Manual United Flectronie Industries The High
29. LibUSB makes use of this filesystem to interact with the USB devices 32 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative Mount USBFS manually Type the following command to mount USBFS mount t usbdevfs none proc bus usb Mount USBFS automatically Add the following line to etc fstab to automatically mount USBFS at boot time none proc bus usb usbfs defaults Write a program using libusb The UEIPAC ships with a simple example showing how to enumerate USB devices and query information SampleLibUSB LibUSB API documentation is available at http www libusb org 33 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 6 Serial Port 6 1 UEI Serial Server UEI Serial Server makes PowerDNx serial devices such as SL 501 and SL 508 accessible as standard Linux serial ports that can be programmed using the POSIX termios API The mapping configuration file is a text file with a settings section for global paremeters and a ttyUEI section for each mapped serial port For example settings timeoutms 1000 retrycount 4 pollperiodms 10 ttyUEIO ipAddress 127 0 0 1 device 2 port 0 mode 0 baudRate 9600 parity 0 O none 1 odd 2 even stopBits 0 O no stop bit 1 1 stop bit 2 1 5 stop bit dataBits 8 5 6 7 or 8 data bits ttyUEI1 ipAddress 127 0 0 1 device 2 port 1 mode 0 baudRate 57600 parit
30. Linux can schedule its own processes and threads e Xenomai s real time kernel highest priority allows it to preempt the Linux kernel whenever a new interrupt arrives with no delay and repeat the cycle Xenomai allows to run real time tasks either strictly in kernel space or within the address space of a Linux process A real time task in user space still has the benefit of memory protection but is scheduled by Xenomai directly instead of the Linux kernel The worst case scheduling latency of such kind of task is always near the hardware limits and predictable Using Xenomai parlance real time tasks are running in the primary domain while the Linux kernel and its processes are running in secondary domain A real time task always start in primary domain however it will jump to secondary domain and be schedules by the Linux kernel instead of Xenomai s RT kernel upon invoking a non rt system call Non RT system calls are all system calls that are not implemented by Xenomai This includes memory allocation malloc file access network access sockets process and thread management etc 47 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative You need to make sure that the time critical part of your application runs in the primary domain One way to do this is to partition an application in two or more tasks one high priority tasks runs the time critical code and communicate with other lowe
31. MAP int dev ID of the device where the channels are located int subsystem The subsystem to use on the device ex DQ SSOIN uint32 cl Array containing the channels to add to the DMAP int clSize Size of the channel array Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ BAD PARAMETER the subsystem is invalid for this device DQ SUCCESS command processed successfully Description Add one or more channels to the DMAP UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative DqRtDmapGetinputMap Syntax int DqRtDmapGetInputMap int handle int dmapid int dev unsigned char mappedData Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located Output mappedData pointer to the beginning of the device s input DMAP buffer Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Get pointer to the beginning of the input data map allocated for the specified device DqRtDmapGetinputMapSize Syntax int DqRtDmapGetInputMapSize int handle int dmapid int dev int mapSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located Output mappedSize size in bytes of the device s input data
32. NTP server rdate p lt NTP server IP address gt The following command changes the current date and time to match the ones returned by the NTP server rdate s lt NTP server IP address gt To make this change permanent upon reboot save the date to the RTC chip with the following command hwclock w u 3 5 Changing the password Type the following command and enter your new password two times passwd You can now logout and login with your new password 3 6 Configuring the web server The UEIPAC comes with a simple web server enabled Copy your html pages in the folder www to make them accessible from a remote web browser 3 7 System logger UEIPAC comes by default with the system logger disabled to avoid un necessary access to the file system You can enable the system logger after adding the syslogd command to etc rc local Log messages will be written to the file var log messages You can also enable the kernel logger to log all kernel messages which are by default printed on the serial console after adding the klogd command to etc rc local 20 UEIPAC SDK User Manual y x United Electronic Industries vY The High Performance Alternative Finally to write your own messages to the system logger include lt syslog h gt in your program and call the POSIX APIs openlog syslog and closelog 21 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative
33. PAC SDK User Manual y x United Electronic Industries The High Performance Alternative 3 Set U Boot s boot command to start Linux automatically setenv bootcmd bootm ffd50000 saveenv 4 Reset and boot the Linux kernel reset Configure UEIPAC with Freescale 8347 CPU to run DAQBios firmware 1 Set U Boot s boot command to start the DAQBios firmware automatically setenv bootcmd go ff800100 saveenv 2 Reset and boot the DAQBios firmware reset Configure UEIPAC with Freescale 8347 CPU to run Linux 3 Set U Boot s boot command to start Linux automatically setenv bootcmd bootm fe000000 saveenv 4 Reset and boot the Linux kernel reset 10 Install open source software You can install pretty much any open source software package designed for Linux on your UEIPAC provided that those software packages can be cross compiled The following sections describe a few standard way of cross compiling software packages 10 1 Software coming with an autoconf configure script Most software packages that use autoconf can be configured with the following command on a Linux PC configure host powerpc 604 linux gnu build i686 pc linux gnu prefix root file system Use the following command on a Window Cygwin PC 54 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative configure host powerpc 604 linux gnu build i686 pc cygwin prefix lt root file s
34. Performance Alternative New Connection Files Define subsystem information Configuration Properties re Files Property ftp files O ssh files Available Services 22 FTP File Service ed FTP Connector Service Description This configuration allows you to work with files on local or remote systems using the FTP protocol We will use FTP to transfer files to from the UEIPAC Select ftp files Select FTP Connector Service and set the FTP passive setting to true Click on Next UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative New Connection Processes Define subsystem information Properties Configuration L1 i Property shell linux Available Services Shell Process Service z B Jue Description This configuration allows you to work with processes on remote linux systems using any contributed Shell subsystem We will use a remote shell to control the processes running on the UEIPAC Select processes shell linux and click on Next UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative New Connection Shells Define subsystem information Configuration Properties C dstore shells Property ssh shells Available Services 22 SSH Shell Service e4 55H Connector Service Description SSH Connector Service Description
35. Performance Alternative bash mkimage T ramdisk C gzip n UEIPAC RAM disk d ramdisk gz new uRamdisk x y z Image Name UEIPAC RAM disk Created Wed Apr 11 17 32 41 2012 Image Type PowerPC Linux RAMDisk Image gzip compressed Data Size 2425561 Bytes 2368 71 kB 2 31 MB Load Address 0x00000000 Entry Point 0x00000000 28
36. TX bytes 0 0 0 B pppe Link encap Point to Point Protocol inet addr 166 203 211 199 P t P 10 64 64 64 Mask 255 255 255 255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU 1500 Metric 1 RX packets 14 errors 0O dropped 0 overruns 0 frame 0 TX packets 15 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 3 RX bytes 182 182 0 B TX bytes 257 257 0 B Make sure that pppO was assigned an IP address You can now connect to the internet from your UEIPAC Automatic startup To automatically load the kernel modules edit the file etc modules and add the following lines at the end of the file sierra ppp To automatically start the ppp daemon add a symbolic link to etc init d pppd in the directory etc rc d with the following command ln s etc init d pppd etc rc d S30pppd 5 4 Serial Port The UEIPAC comes with driver for USB serial devices based on the Prolific PL 2303 chipset Load kernel modules At the command line prompt type the following modprobe p12303 You will see the following messages printed on the serial console type dmesg to see those messages when logged in via telnet or ssh usbcore registered new interface driver usbserial 31 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative USB Serial support registered for generic usbcore registered new interface driver usbserial_generic usbserial USB Serial Driver core USB Serial support regist
37. UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative UEIPAC Software Development Kit User Manual 2 6 0 March 2013 Edition Copyright 2013 United Electronic Industries Inc All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form by any means electronic mechanical by photocopying recording or otherwise without prior written permission UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Table of contents ND v nd ERROR oet mee 6 EANUS Einiegsiic SERRE 10 FEES RII e ek Mc 1k RR RTT 10 3 Configuring the UBIPALC siii diiibudxce ids abl sat aca od C x Rad bs 11 3 1 Connecting through the serial DORT ai eir ere eee ree eae yeem ER 11 CN AT NN hk RT E 14 Booting Don nut SD Gi ooo ode Mop E uA M one Tra 14 File system corru DESERT 15 5 Connecting USB PARENG ases qubie ttp FUUE M po rXDEEED DARE UUU EDU E MENU TM UL MEE 24 51 USB Mass EUER TEMERE 24 5 2 Wifi network interfaCe sseseeesneeeeenseneneeeeeneneeeneneneneneeeeeeeeeeeeeeeeeeeteeeeeensseteternesne 25 Load kermel A RT rice nate tne aA 25 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Pror AUS O a ia Sen a eee at dd eee 28 ive Ctr s DER RE 28 Automat SESEBIER ie ciere Perr cr ene ne
38. a32 Syntax int DqRtDmapWriteRawData32 int handle int dmapid int dev unsigned int rawBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative int dev ID of the device where the channels are located int bufferSize Number of elements in rawBuffer unsigned int rawBuffer The buffer containing the raw data to write to the device Return DQ_ILLEGAL_HANDLE invalid IOM handle DQ_BAD_DEVN there is no device with the specified number DQ_SUCCESS command processed successfully Description Write raw data to the specified device as 32 bits integers Note The data written will be actually transferred to the device on the next call to DqRtDmapRfresh This function should only be used with devices that acquire 32 bits wide digital data such as the DIO 4xx series DqRtDmapsStart Syntax int DqRtDmapStart int handle int dmapid Input int handle Handle to the IOM int dmapid Identifier of the DMAP Return DQ ILLEGAL HANDLE invalid IOM handle DQ SUCCESS command processed successfully Description Start operations the cube will update its internal representation of the map at the rate specified in DqRtDmaplnit DqRtDmapStop Syntax int DqRtDmapStop int handle int dmapid Input int handle Handle to the IOM int dmapid Identifier of the DMAP Return DQ ILLEGAL HANDLE invalid IOM
39. afone ne nl Start PPP daemon Issue the following command to start the PPP daemon and configure the network connection etc init d pppd start After a few seconds the script will return printing the message OK if it successfully configured the network connection or Failed if it did not etc init d pppd start Starting pppd PPP BSD Compression module registered PPP Deflate Compression module registered OK In case of failure type the command dmesg to print the log and send that information to UEI technical support Type the command ifconfig to print the network connections currently configured on your UEIPAC There should be three connections local ethO and pppO etho Link encap Ethernet HWaddr 00 0C 94 00 C5 CB inet addr 192 168 100 2 Bcast 192 168 100 255 Mask 255 255 255 0 UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 RX packets 0 errors 0 dropped 0 overruns 0 frame 0 TX packets 0 errors dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 1000 RX bytes 0 0 0 B Base address 0x4000 TX bytes 0 0 0 B 30 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 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 0O carrier 0 collisions 0 txqueuelen 0 RX bytes 0 0 0 B
40. ation settings accordingly Connect the DC output of the power supply 24VDC to the Power In connector on the UEIPAC and connect the AC input on the power supply to an AC power source You should see the following message on your screen U Boot 1 1 4 Jan 10 2006 19 20 03 CPU MPC5200 v1 2 at 396 MHz Bus 132 MHz IPB 66 MHz PCI 33 MHz Board UEI PowerDNA MPC5200 Layer I2C 85 kHz ready DRAM 128 MB Reserving 349k for U Boot at 07fa8000 FLASH 4 MB In serial Out serial Err serial Net FEC ETHERNET 11 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Type run flash_nfs to mount root filesystem over NFS Hit any key to stop autoboot 5 This message is coming from the cube s boot loader U Boot It waits 2 seconds to give the user a chance to alter its configuration if necessary After the count down ends U Boot loads the Linux kernel from flash un compresses it and starts it U Boot 1 1 4 PowerDNA 3 2 1 Dec 18 2006 10 41 01 CPU MPC5200 v1 2 at 396 MHz Bus 132 MHz IPB 66 MHz PCI 33 MHz Board UEI PowerDNA MPC5200 Layer I2C 85 kHz ready DRAM va eee 128 MB FLASH 4 MB In serial Out serial Err serial Net FEC ETHERNET Type run flash nfs to mount root filesystem over NFS Hit any key to stop autoboot 0 Booting image at ffd80000 Image Name Linux 2 6 28 5 ueipac5200 Created 2009 05 01 14 31 47 UTC Image Type
41. ceive the SIGINT signal You can send this signal by typing CTRL C or with the following command if the program runs in the background of if you are logged on a different console than the one running the program killall SIGINT Sample207 7 3 PowerDNA server PowerDNA server emulates the behavior of a PowerDNA IO module running the standard DAQBIOS firmware It emulates a subset of the DAQBIOS protocol so that the UEIPAC can be accessed from PowerDNA explorer or the PowerDNA C API It only works in immediate RTDMAP and RTVMAP modes ACB Messaging and Asynchronous modes are not supported To run the PowerDNA server type the command pdnaserver amp 38 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 8 Application development 8 1 Prerequisites Make sure that the directory lt UEIPAC SDK directory gt powerpc 604 linux gnu bin is added to your PATH environment variable This will allow you to invoke the GCC cross compiler without having to specify its full path It is required to run the different Makefiles that build the PowerDNA library and the examples this should have been done automatically by the install script 8 2 Compiling and running Hello World The UEIPAC SDK comes with the GNU toolchain compiled to run on your host PC and build binaries targeting the PowerPC processor that runs on your UEIPAC The SDK comes with all the familiar GNU tools ar as gcc
42. cified device DqRtDmapReadScaledData UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Syntax int DqRtDmapReadScaledData int handle int dmapid int dev double scaledBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located int bufferSize Number of elements in scaledBuffer Output double scaledBuffer The buffer containing the scaled data Return DQ_ILLEGAL_HANDLE invalid IOM handle DQ_BAD_DEVN there is no device with the specified number DQ_SUCCESS command processed successfully Description Read and scale data stored in the input map for the specified device Note The data read is the data transferred by the last call to DgRtDmapRefresh This function should only be used with devices that acquire analog data such as the AI 2xx serie DqRtDmapReadRawData16 Syntax int DqRtDmapReadRawDatai6 int handle int dmapid int dev unsigned short rawBuffer int bufferSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located int bufferSize Number of elements in rawBuffer Output unsigned short rawBuffer The buffer containing the raw data Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description
43. cript to start crond at boot time mv etc rc d K30crond etc rc d S30crond Add a new schedule entry to the cron configuration file crontab e Press i to switch to insert mode and type the new schedule entry using the following format minute hour day month lt dayofweek gt command Minute Minutes after the hour 0 59 lt Hour gt 24 hour format 0 23 Day Day of the month 1 31 lt Month gt Month of the year 1 12 lt Dayofweek gt Day of the week 0 6 where 0 indicates Sunday An asterisk in a schedule entry indicates every It means that the task will occur on every instance of the given field So a on the Month field indicates the the task will run every month of the year A in the Minutes field would indicate that the task would run every minute A comma is used to input multiple values for a field For example if you wanted a task to run at hours 12 15 and 18 you would enter that as 12 15 18 For example the following entry will append the string Hello UEIPAC to the file tmp crontest every day at 2 30 and 15 30 30 2 15 echo Hello UEIPAC gt gt tmp crontest 49 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 9 Firmware installation and upgrade 9 1 Installing or upgrading the Linux kernel Your UEIPAC comes with the Linux kernel already installed into flash memory It is possible to
44. d Time Changing the date The UEIPAC is equipped with a real time clock chip that preserves the date and time settings when the UEIPAC is not powered By default the date is set to the current data and time in the UTC GMT time zone To print the current date and time use the following command date To change the current date and time use one of the following commands date s MMDDhhmm date s YYYYMMDDhhmm ss For example date s 06021405 will set the new date to June second 2 05 PM To make this change permanent upon reboot save the date to the RTC chip with the following command hwclock w u Changing the time zone To set the time zone you need to set the environment variable TZ For example if you type the command export TZ ESTSEDT M3 2 0 M11 1 0 It will set the time zone to eastern time with daylight saving time starting on the Sunday 0 of the second week 2 of March 3 and ending on Sunday 0 of the first week 1 of November 11 To make this change permanent upon reboot add the command to the file etc profile 19 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative You can find a detailed explanation on the syntax of TZ at http www gnu org software libtool manual libc TZ Variable html Connecting to a NTP server The rdate utility can be used to retrieve the time from a NTP server The following command just prints the time returned by the
45. d on the 5200 CPU need to upload the RAM disk image via TFTP each time they boot Follow the steps below to upload the RAM disk to memory and boot from it 1 Copy the lt UEIPAC SDK gt rfs uRamdisk x y z file to the root directory of your TFTP server 2 Power up your UEIPAC and press any key to enter U Boot 3 Configure the UEIPAC s IP address setenv ipaddr lt IP address of the UEIPAC gt 4 Configure U Boot to use your host PC as TFTP server setenv serverip lt IP address of your host PC gt 5 Upload RAM disk tftp 4000000 uRamdisk x y z 6 On 8347 based CPUs copy the RAM disk to flash erase fe200000 fe7fffff cp b 4000000 fe200000 filesize 7 Update bootargs variable to tell the kernel that its root file system is a RAM disk For 5200 based UEIPAC setenv bootargs console ttyPSCO 57600 root dev ramO rw 16 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative For 8347 based UEIPAC setenv bootargs console ttyS0 57600 root dev ramO rw 8 Change boot command to unpack the RAM disk in memory before starting the kernel For 5200 based UEIPAC RAM disk must be loaded from RAM setenv bootcmd bootm ffd50000 4000000 For 8347 based UEIPAC RAM disk can be loaded from flash setenv bootcmd bootm fe000000 fe200000 9 Save environment to make those changes permanent and reset saveenv Booting from an NFS share It is also possible to use an NFS network share to hold the
46. e ctrl_interface var run wpa_supplicant ctrl_interface_group 0 ap_scan 1 network ssid lt put your access point ESSID here gt proto WPA key_mgmt WPA PSK pairwise TKIP group TKIP psk lt put your pre shared key generated with wpa_passphrase here gt priority 2 j Specify that you want to connect as a client to a network with an access point in managed mode iwconfig wlanO essid name of your access point mode managed Run wpa supplicant in daemon mode to authenticate with the access point wpa supplicant iwlanO c etc wpa supplicant conf Dwext B Run iwconfig to verify that the authentication worked wlano IEEE 802 11bg ESSID fred Mode Managed Frequency 2 447 GHz Access Point 00 13 10 AA FA 10 Bit Rate 1 Mb s Tx Power 27 dBm Retry min limit 7 RTS thr off Fragment thr 2352 B Encryption key B507 40C4 9A48 806D D664 910F B354 6CF4 DEBF EA54 CE6F B291 BDOE 593F BFA9 405D 2 Security mode open Power Management off Link Quality 80 100 Signal level 31 dBm Rx invalid nwid 0 Rx invalid crypt 0 Rx invalid frag 0 Tx excessive retries 0 Invalid misc 0 Missed beacon 0 If there is a DHCP server on your network get an IP address for your wifi interface udhcpc i wlanO s etc udhcp default script Otherwise assign a static IP address to your wifi interface ifconfig wlanO 192 168 100 3 netmask 255 255 255 0 route add default gateway 192 168 100 1 27 UEIPAC SDK User Manual y x United Electronic Industries
47. e Messaging Allows access to messaging layers serial CAN ARINC 429 at full speed It is designed to correct communication errors that might happen on the network link The error correction mechanisn will cause issues with real time deadlines Messaging mode examples are named SampleMsgX XX e Variable Size Data Mapping VMAP Allows access to all layers at full speed transferring incoming and outgoing data in buffers in one call VMAP mode examples are named SampleVMapXXX The UEIPAC SDK only supports the immediate also known as point by point DMAP and VMAP modes to control the local layers The three other modes ACB MSG and M3 are designed to work over ethernet and have built in error correction which is not needed on the UEIPAC You can however use those modes to control remote layers installed in I O modules that runs the DAQBios firmware over the network Firmware running on the IO module I O mode DAQBios UEIPAC local layers UEIPAC remote layers Immediate Yes Yes Yes ACB Yes No Yes 42 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative DMAP Yes Yes Yes MSG Yes No Yes VMAP Yes Yes Yes PowerDNA API The following section details the subset of PowerDNA APIs available when running your program on a UEIPAC Refer to the PowerDNA API Reference Manual document to get detailed information about each API
48. e frederic uei ueipac 2 4 3 powerpc 604 C cygwin home frederic uei ueipac 2 4 3 9 Append variables to native environment Replace native environment with specified one Open and Build examples Select the menu option File New Makefile Project with Existing Code Select the project type Makefile Project Empty Project Type a project name Browse to the location of the example you wish to build examples are located lt Cygwin directory gt home lt your user name gt uei ueipac 2 4 0 sdk DAQLib_Samples UEIPAC SDK User Manual y x United Electronic bh 477 The High Performance Alternative Import Existing Code Create a new Makefile project from existing code in that same directory Project Name SampleDMAP Existing Code Location C cygwin home frederic uei ueipac 2 4 3 sdk DAQLib_Samples SampleDh Languages c C Toolchain for Indexer Settings lt none gt Cross GCC Cygwin GCC GNU Autotools Toolchain Linux GCC Click Finish to create the project Select the menu Project Build Project to build the example UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative File Edit Source Refactor Navigate Search Project Run Window Help P a 8 0 QqQ mo 3 R C C 3 Debug R Project Explorer 3 lt m fr Sample566 scheduler c RN La int main int argc char argv iS SampleDiagnostics PDNA PARAMS params 1
49. ed NET Registered protocol family 17 EXT2 fs warning mounting unchecked fs running e2fsck is recommended VFS Mounted root ext2 filesystem Freeing unused kernel memory 152k init init started BusyBox v1 13 3 2009 04 13 15 41 06 EDT loading modules pdnabus pdnadev Starting Network Checking Network Configuration OK Loading Static Network Interface OK Checking Network Connection OK Starting inetd OK Starting local script PowerDNA Driver version 2 1 0 Address Irq Model Option Phy Virt S N Pri LogicVer 0xc9080000 7 201 100 phys 0027153 0 02 09 03 Oxc9090000 7 308 1 phys 0028647 0 02 06 00 0xc90a0000 7 207 1 phys 0030353 0 02 0c 05 0xc90b0000 7 205 1 phys 0023120 0 02 09 03 0xc90c0000 7 403 1 phys 0034744 0 02 06 00 0xc90d0000 7 503 1 phys 0025808 0 02 09 03 OK BusyBox v1 13 3 2009 04 29 09 50 58 EDT built in shell ash Enter help for a list of built in commands H You can now navigate the file system and enter standard Linux commands such as ls ps cd 3 2 Rootfile system Booting from the SD card The UEIPAC ships with the root file system entirely located on the SD card It uses the EXT2 format It is recommended to type the command halt before powering down the UEIPAC and the command reboot to restart the UEIPAC 14 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative If you power down abruptly the UEIPAC the foll
50. ered for pl2303 pl2303 1 5 1 1 0 pl12303 converter detected usb 1 5 1 p12303 converter now attached to ttyUSBO usbcore registered new interface driver p12303 pl2303 Prolific PL2303 USB to serial adaptor driver Make note of the device node attached to the serial port In the example above it is dev ttyUSBQ You will use this device node to address the serial port See example SampleLinuxSerialPort for an example showing how to program standard Linux serial port Automatic startup To automatically load the kernel modules edit the file etc modules and add the following lines at the end of the file pl2303 5 5 LibUSB The UEIPAC comes with the LibUSB library to facilitate programming of USB devices for which there is no driver It allows the enumeration of USB devices as well as access to USB communication pipes e control transfers which are typically used for command or status operations e interrupt transfers which are initiated by a device to request some action from the host e isochronous transfers which are used to carry data the delivery of which is time critical such as for video and speech e bulk transfers which can use all available bandwidth but are not time critical Prerequisite LibUSB uses usbfs whichis a filesystem specifically designed for USB devices Once this filesystem is mounted it can be found at proc bus usb It consists of information about all the USB devices that are connected to the computer
51. files in a RAM disk This method ensures that the UEIPAC will always boot unless the SD card itself becomes un operational because of wear out or random failure It consumes a little bit of memory to store temporary files log files lock files etc e Load the root file system as a RAM disk This method is more robust but consumes more memory around 10 MBytes and only works on UEIPAC 1G Gigabit Ethernet and R Racks models The UEIPAC will even be able to boot without SD card 15 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative e Load the root file system from an NFS share This method requires a network server to be always on to provide the files Good for development but not very useful for deployment Setting up root file system read only UEIPACs are now shipped in this configuration See Appendix E for instructions to convert a non read only UEIPAC root fs version lt 2 3 0 to a read only one Booting from a RAM disk Booting from a RAM disk is faster than any other method However the RAM disk size is limited to 16Mbytes and any data written to the RAM disk is lost when the system shuts down or reboot The RAM disk is very useful if for example you want to re initialize the SD card or want to use an NFS share for persistent storage The RAM disk can only fit in the flash memory of the UEIPAC models based on the 8347 CPU UEIPAC 1G or UEIPAC R The UEIPAC models base
52. fs etc fstab and change the mount point for dev sdcard1 to mnt rfs etc fstab should look like this dev sdcard1 mnt ext2 defaults noatime 1 1 none proc proc defaults 0 none sys sysfs defaults 0 0 none dev pts devpts defaults 0 0 This will make the sd card accessible under mnt when the UEIPAC boots over NFS Configure Uboot 1 2 Power up the UEIPAC and press a key to enter U Boot Type the following commands setenv gateway lt your gateway ip address gt setenv netmask lt your netmask gt setenv consoledev ttyPSCO setenv baudrate 57600 setenv netdev ethO setenv rootpath The remote path where rfs is located on your host PC gt run nfsargs run addip setenv bootargs bootargs console consoledev baudrate saveenv printenv Verify that your bootargs variable looks like this bootargs root dev nfs rw nfsroot 192 168 100 1 home frederic UEIPAC rfs console ttyPSCO 57600 21 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative ip 192 168 100 2 192 168 100 1 255 255 255 0 ethO off panic 1 4 Reset the UEIPAC which will now find its root file system on the NFS share reset 22 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Building the Linux kernel Note that you can only build the UEIPAC Linux kernel on a PC running Linux connected to the internet Make sure that you have the following
53. functions To avoid typing the same commands over and over when starting a debugging session you can create a file named gdbinit in your home directory This file will contain commands that you want GDB to execute at the beginning of a session For example the following gdbinit file automatically connect to the target and pauses the execution in the main function each time you start gdb set solib search path lt UEIPAC Driver Dir gt powerpc 604 linux gnu powerpc 604 linux gnu lib lt UEIPAC Driver Dir gt sdk DAQLib target remote 192 168 100 2 1234 break main cont Read the GDB documentation at http sourceware org gdb documentation to learn how to fully use the GDB debugger 8 4 PowerDNA Library The PowerDNA library implements the API used to program the PowerDNA IO layers The following layers are supported by the UEIPAC SDK Analog Input AI 201 AI 205 AI 207 AI 208 AI 211 AI 225 AI 254 AI 255 e Analog Output AO 302 AO 308 AO 332 e Digital Input Output DIO 401 DIO 402 DIO 403 DIO 404 DIO 405 DIO 406 DIO 416 DIO 432 DIO 433 DIO 448 e Counter Timer CT 601 QUAD 604 e Messaging SL 501 SL 508 CAN 503 429 566 429 512 The source code is installed in lt UEIPAC SDK directory gt sdk DAQLib Examples are located in lt UEIPAC SDK directory gt sdk DAQLib_Samples The UEIPAC SDK uses a subset of the PowerDNA Software Suite API It even allows you to control other IO modules tha
54. handle DQ SUCCESS command processed successfully Description UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Stop operations the cube will stop updating its internal representation of the data map DqRtDmapRefresh Syntax int DqRtDmapRefresh int handle int dmapid Input int handle Handle to the IOM int dmapid Identifier of the DMAP Return DQ ILLEGAL HANDLE invalid IOM handle DQ SUCCESS command processed successfully Description Refresh the host s version of the map by downloading the IOM s map Note The IOM automatically refresh its version of the data map at the rate specified in DqRtDmaplnit This function needs to be called periodically a real time OS might be necessary to synchronize the host and IOM data maps DqRtDmapClose Syntax int DqRtDmapClose int handle int dmapid Input int handle Handle to the IOM int dmapid Identifier of the DMAP Return DQ ILLEGAL HANDLE invalid IOM handle DQ SUCCESS command processed successfully Description Free all resources allocated by the DMAP operation on the specified IOM UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Event API DqEmbConfigureEvent Syntax int DqEmbConfigureEvent int handle DQ EMBEDDED EVENT event unsigned int param Input int handle Handle to the IOM DQ EMBEDDED EVENT event Event to configure unsigned int param Event
55. i 53 Mak O B amp 9 v7 Z7 f 9 13 R E e v E a T E Sample201 mJ MM stdio h is Sample207 K NAME Sample207 c M signalh E goce DESCRIPTION ollainapd IE Sample207 c JM netinet in h le Makefile Test AI 207 specific comme n unistd h B Sample207 H F DE sys time h Sample207 o m r m In e Problems Tasks E onso terminated Sample207 C C Remote Applica m 9g 3 Ee KIGE ferry 0 chi bdata 310c7e3f fdata 7 534247V a Remote Systems 23 ch2 bdata 310f825d fdata 7 546225V r3 2 a els ch3 bdata 310c7e31 fdata 7 535315V P EP Local ch4 bdata 310f8255 fdata 7 545614V 1 2 Local Files chS bdata 310c7e2f fdata 7 535467V ch6 bdata 310f8255 fdata 7 545614V k Local Shells ch7 bdata 310c7e36 fdata 7 534933V 4 4X UEIPAC tp Files chO bdata 310f824c fdata 7 544928V gt EB Shell Processes chi bdata 310c7e3e fdata 7 534323V TX Ssh Shells ch2 bdata 310f825d fdata 7 546225V 3 Ssh Terminals ch3 bdata 310c7e2f fdata 7 535467V ch4 bdata 310f825a fdata 7 545996V Debugging your program on the UEIPAC The UEIPAC examples are already compiled with debug information Make sure that your program does too add the option g to the compiler flags Select the Run gt Show Debug Dialog menu option to open the Debug dialog box Select the C C Remote Application Sample201 previously created In the Debugger tab set GDB debugger t
56. ive 2 Find out the name of the device node associated with the card Type the command dmesg and look for a message at the end of the log similar to SCSI device sdb 1984000 512 byte hdwr sectors 1016 MB This message tells us that the device node we are looking for is dev sdb di Un mount the SD card if necessary sudo umount dev sdb1 4 Erase all partitions from the SD card and create one primary partition using all the space available on the card the example below uses a 1GB card with 1016 cylinders use whatever default value is suggested for the last cylinder fdisk dev sdb Command m for help d Selected partition 1 Command m for help n Command action e extended p primary partition 1 4 p Partition number 1 4 1 First Cylinder 1 1016 default 1 1 Last Cylinder 1 1016 default 1016 1016 Command m for help w 5 Un mount the SD card if necessary sudo umount dev sdb1 6 The device node associated with the partition we just created is dev sdb1 Let s format this new partition with mke2fs j option sets file system type to ext3 sudo mke2fs j dev sdb1 7 CD to a temporary directory and untar the root file system cd tmp sudo tar xvfz lt UEIPAC SDK directory gt rfs tgz 8 Mount the new partition on some Linux distributions it might already be mounted check with the command df then copy the root file system to the SD card sudo mount dev sdbi mnt sudo cp rd
57. ld objdump To avoid confusion with a different version of those tools for example a version compiled to run and produce binaries for your host PC their names are prefixed with powerpc 604 linux gnu For example the GNU C compiler is named powerpc 604 linux gnu The following steps will guide you in writing your first program and running it on your UEIPAC 1 Create a file called hello c 2 Edit the file and enter the following text include lt stdio h gt int main int argc char argv printf Hello World from UEIPAC n return 0 d 3 Compile the file with the command powerpc 604 linux gnu gcc hello c o hello 4 Download the compiled program hello to the cube ftp UEIPAC IP address gt bin cd tmp put hello 39 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 5 Login on your UEIPAC using either Telnet or the serial console and type the following commands cd tmp chmod x hello hello You should see the text Hello World from UEIPAC printed on the console 8 3 Debugging Hello World The UEIPAC SDK contains a version of the GNU debugger compiled to run on your host PC and debug binaries targeting the PowerPC processor Its name is powerpc 604 linux gnu gdb It allows you to debug a program remotely from your host PC The following steps will guide you in debugging the hello world program 1 Rebuild the hello pr
58. ll process and are ready to be transferred and executed Compiled versions of each example are also available on the UEIPAC file system in the usr local examples directory There is one example for each supported I O layer named SampleX XX where XXX is the model ID of each layer Go to the directory lt UEIPAC SDK directory sdk DAQLib Samples and copy the chosen example to your UEIPAC using one of the methods described in section 4 For example using FTP ftp UEIPAC IP address gt bin cd tmp put SampleXXx The example by default uses the first I O layer device 0 You can change the device using command line options Here are a few of the options available h display help d n selects the device to use default 0 f n nn set the rate of the DAQ operation default 1000 Hz C X y Z select the channels to use default channel 0 For example the following command run the AI 207 test program using device 2 and channels 3 5 and 7 tmp Sample207 d 2 c 3 5 7 There are 3 channels specified 3 5 7 37 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 0 ch3 bdata 310dfff6 fdata 15 781501V 0 ch5 bdata 310dfff7 fdata 15 781501V 0 ch7 bdata 310dfff6 fdata 15 781501V ch3 bdata 310dfff6 fdata 15 781501V ch5 bdata 310dfff6 fdata 15 781501V ch7 bdata 310dfff6 fdata 15 781501V REPE All examples are configured to stop when they re
59. ly with the USB mass storage device class and are formatted with one of the following formats FAT EXT2 After connecting a mass storage device to the UEIPAC the following kernel messages will appear on the serial console if you are connected using telnet or SSH use the command dmesg to view kernel messages usb 1 1 new high speed USB device using fsl ehci and address 2 usb 1 1 configuration 1 chosen from 1 choice scsi0O SCSI emulation for USB Mass Storage devices usb 1 1 New USB device found idVendor 08ec idProduct 0011 usb 1 1 New USB device strings Mfr 1 Product 2 SerialNumber 3 usb 1 1 Product USB Drive usb 1 1 Manufacturer Fujifilm usb 1 1 SerialNumber 0713B317290025CC Scsi 0 0 0 0 Direct Access Fujifilm USB Drive 4 20 PQ 0 ANSI 0 CCS sd 0 0 0 0 sda 499712 512 byte hardware sectors 255 MB 244 MiB sd 0 0 0 0 sda Write Protect is off sd 0 0 0 0 sda Assuming drive cache write through sd 0 0 0 0 sda 499712 512 byte hardware sectors 255 MB 244 MiB sd 0 0 0 0 sda Write Protect is off sd 0 0 0 0 sda Assuming drive cache write through sda sdai sd 0 0 0 0 sda Attached SCSI removable disk 24 UEIPAC SDK User Manual y x United Electronic Industries vY The High Performance Alternative Note the device node name assigned to this USB device it uses the format sdxn e xis a for the first drive b for the second and so on e nis the partition number In
60. map Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Get the size in bytes of the input map allocated for the specified device UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative DqRtDmapGetOutputMap Syntax int DqRtDmapGetOutputMap int handle int dmapid int dev unsigned char mappedData Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located Output mappedData pointer to the beginning of the device s output DMAP buffer Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Get pointer to the beginning of the output data map allocated for the specified device DqRtDmapGetOutputMapSize Syntax int DqRtDmapGetOutputMapSize int handle int dmapid int dev int mapSize Input int handle Handle to the IOM int dmapid Identifier of the DMAP int dev ID of the device where the channels are located Output mappedSize size in bytes of the device s output data map Return DQ ILLEGAL HANDLE invalid IOM handle DQ BAD DEVN there is no device with the specified number DQ SUCCESS command processed successfully Description Get the size in bytes of the output map allocated for the spe
61. nic Industries The High Performance Alternative Cancel the timer event DqEmbCancelEvent handle DqEmbEventTimer Refer to Appendix B for detailed documentation of each event API function Unsupported APIs All other APIs than the one mentioned above are not supported on the UEIPAC This includes all the ACB DqACB DMAP DqDmap MSG DqMsg and M3 DqMmm APIs Building and running the examples Change your current directory to lt UEIPAC SDK directory gt sdk DAQLib_Samples and type make to make sure that your setup can build the samples correctly If you get any error while building the examples check that the path to the cross compiler is in your PATH environment variable and that the environment variable UEIPACROOT is set to the SDK directory You can now transfer any of the built examples to the UEIPAC using FTP and run it Each example accepts command line options to specify the following parameters e d lt device id gt specify the device e c channel list gt specify the channel list e f lt frequency gt specify the rate e n number of Scans specify the number of samples per channels For example the following command runs the Sample201example to acquire channels 0 2 and 4 from device 1 Sample201 d 1 c 0 2 4 Building your own program The first step is to compile your program use the I option to tell the compiler where the PowerDNA API headers are powerpc 604 linux gnu gcc
62. nnels flags 1 Start all devices that have channels configured in the VMAP DqRtVmapStart handle vmapid Specify how much input data to transfer during the next refresh DqRtVmapRqInputDataSz handle vmapid numScans sizeof uint16 amp act size NULL Synchronize the VMAP with all devices DqRtVmapRefresh handle vmapid Retrieve the data acquired by device 0 DqRtVmapGetInputData handle vmapid numScans sizeof uint16 amp data size amp avl size uint8 bdata Stop the devices and free all resources DqRtVmapStop handle vmapid DqRtVmapClose handle vmapid Event API The event API only works when running your program on a UEIPAC You can t call any event function when communicating with PowerDNA over Ethernet The event API allows you to get notified in your application when a hardware event occurs The hardware events are e Syncin event a digital edge was sensed on the syncin pin of the Sync connector e Timer event occurs at each tick of a hardware timer located on the CPU layer Here is a quick tutorial on using the event API handling of error codes is omitted Configure hardware timer to generate an event every millisecond DqEmbConfigureEvent handle DqEmbEventTimer 1000 Wait for the next event if no event occur or after 2 seconds the function returns the event DqEmbEvent Timeout DqEmbWaitForEvent handle 2000 amp event 45 UEIPAC SDK User Manual y x United Electro
63. o powerpc 604 linux gnu gdb 16 UEIPAC SDK User Manual y x United Electronic bh 477 The High Performance Alternative TC E lt Create manage and run configurations amp xioi type filter text c C C Attach to Loc c C C Local Applica c C C Postmortem fe C C Remote Appl c Sample201 E Sample207 Eclipse Application E5 Java Applet O Java Application Ju JUnit Jt JUnit Plug in Test Name Sample207 E Main 6 Arguments 35 Debugger Source Common Debugger remote gdb mi Stop on startup at main Advanced Debugger Options Main Shared Libraries Gdbserver Settings powerpc 604 linux gnu db GDB debugger GDB command file gdbinit 4 2 Jython run aS Jython unittest 4 OSGi Framework 2 Python Run Z3 Python unittest gi Remote Java Applica m r Filter matched 17 of 17 items Warning Some commands in this file may interfere with the startup operation of the debugger for example run Protocol Default v Click on Debug to download the program to the UEIPAC and start debugging it Eclipse will suggest that you switch to the Debug perspective click on Yes 17 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative m X Confirm Perspective Switch awe i This kind of launch is configured to open the Debug perspective when it su
64. ogram using the g option This will include debug symbols in the binary file powerpc 604 linux gnu gcc g hello c o hello 2 Upload the new binary to the UEIPAC using FTP 3 Onthe UEIPAC console start the GDB server to debug the program remotely It will communicate with the host on port 1234 gdbserver 1234 hello 4 Onthe host start GDB and connect to the target powerpc 604 linux gnu gdb hello target remote lt UEIPAC IP address gt 1234 5 Set the shared library search path so that GDB will find the proper library used by your program set solib search path lt UEIPAC SDK Dir powerpc 604 linux gnu powerpc 604 linux gnu lib UEIPAC SDK Dir gt sdk DAQLib Note that this step is only necessary if you wish to step inside the code of the shared libraries If you don t set this variable GDB will print a few error messages about library mismatch but you can still go ahead and debug your program 6 The program is now in running state and GDB paused its execution Let s put a breakpoint at the beginning of the main function break main 40 UEIPAC SDK User Manual p x United Electronic Industries The High Performance Alternative 7 We can now resume execution with the cont command and GDB will pause the execution again when entering the main function 8 You can step in your program using the n command to step over each line of execution and s to step inside any called
65. owing message will appear at boot time EXT2 fs warning mounting unchecked fs running e2fsck is recommended You must check the file system for errors with the following commands mount o remount ro e2fsck dev sdcard1 e2fsck 1 38 30 Jun 2005 dev sdcard clean 702 124160 files 6632 247872 blocks reboot File system corruption Powering down the UEIPAC while it is writing data to a file can cause file system corruption even in a non related part of the file system Files which never get written and which may even be marked in the file system as read only such as files in sbin or lib can still become corrupted The file system will issue writes in a minimum size typically 4KB and a single 4KB block may have data in it that is part of two different files Those two files might even be in different directories or have different access permissions Thus a simple write to a log file can result in a read and rewrite of part of any file on the partition When power goes down in the middle of that rewrite the result is silent data corruption File systems also have to modify a lot of metadata in various places in order to just create a one byte file A power failure during that operation could for example destroy the names of several other files There are three ways to set up the UEIPAC to ensure that it survives an un controlled power failure e Set up the root file system on a read only partition and store temporary
66. r LE t cce desi cha eie er b de ha ate cce el er D re reer 31 SEONS CUN m a 31 Mna cA 31 JU SCPBTER usse cvi evo cse b eee pda eoe basher pM Ere ecn a Seo pa LEO a a qid 32 Bo PEUS P unean Na aa 32 Prerequisite auia uci ed b XD pit Qd i E La csi b el D Sati ida Gu el a LE dn 32 Write a programi using busbaan erasana ed aana aaia aiai 33 BL Preregtisit s iio saciid obs iaiia aaia aiaia aa Mp Eu edd 39 8 2 Compiling and running Hello World iii e e in ue onec dnk eR esas 39 BDUREINSODL usa cu ud i M E LE 43 Building and running the Pxatoples eet cs ec cre esc shoe pu Coe 46 Building your own program o ard d aic Dads ac dtr di lad aco E M EC hl Vara red 46 Bo Real Time PEGUEAOEUMED as usi roo pena tc snc po daa ak sas researc ai 47 8 6 Running a program automatically after DOOL ii adn tentia 48 B 7 Running a pr gram p nodically us ntis ee ee ee ee creer cau d 9 Firmware installation and upgradle ee e eere 50 9 1 Installing or upgrading the Linux kernel a saos ia cai cceli acturi nd 50 UEIPAC with Freescale 5200 CPU 100MBit Ethernet eeeeeeeees 50 UEIPAC with Freescale 8347 CPU 1GBit Ethernet eeeneennee 51 SEM RADO E SD i aana 51 Ona Ling PG Ei ni t E o etii CU is Pee torte i eie co de RE 51 SO ol UEIPAL nel oi usua us sida duo paa I i M d A EE 53 9 3 Running the standard DAQBios TITHWOIG eeai eter
67. r priority tasks using Xenomai s IPC objects such as message queues and FIFOs The library libpowerdna_rt so implements a version of the PowerDNA API that is safe to call from time critical code running in primary domain All real time examples have the suffix _rt For example Sample207 is a standard Linux sample program while Sample207 rt is a real time sample program 8 6 Running a program automatically after boot Edit the file etc rc local and add an entry for any number of programs that you want to run after the UEIPAC complete its power up sequence In the example below the etc rc local file is modified to run the Sample201 example at boot time bin sh rc local This script is executed at the end of the boot sequence Make sure that the script will exit 0 on success or any other value on error listlayers gt etc layers xml start Sample201 usr local examples Sample201 amp exit 0 Note that Sample201 is executed in the background amp prefix To stop sample201 you must send the SIGINT signal with the following command It is equivalent to typing CTRL C on the console if Sample201 was running in the foreground killall SIGINT Sample201 48 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 8 7 Running a program periodically The UEIPAC comes with crond installed to periodically run scripts and programs Enable the init s
68. read only setenv bootargs console ttyS0 57600 root 62 1 ro saveenv 26 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Updating RAM disk image The UEIPAC software CDROM contains a RAM disk image uRamdisk x y z that you can upload to flash and boot from on 1G and R UEIPAC models see section 3 2 This appendix explains how to modify this image to add your own files typically your program and associated configuration files This operation can only be done on a Linux workstation You also need to install the uboot mkimage utility For example with Ubuntu type bash sudo apt get install uboot mkimage 1 Extract compressed RAM disk image from ulmage file The following command converts the file uRamdisk x y z to ramdisk gz bash dd if uRamdisk x y z bs 64 skip 1 of ramdisk gz 21876 1 records in 21876 1 records out 2 Un compress RAM disk image bash gunzip v ramdisk gz ramdisk gz 66 6 replaced with ramdisk 3 Mount RAM disk image bash mount o loop ramdisk mnt tmp Now you can add remove or modify files in the mnt tmp directory Once you are done you can re pack the RAM disk into a U Boot image 1 Un mount RAM disk image bash umount mnt tmp 2 Compress RAM disk image bash gzip v9 ramdisk ramdisk 66 6 replaced with ramdisk gz 3 Create new U Boot image 27 UEIPAC SDK User Manual y x United Flectronic Industries The High
69. root file system instead of the SD card Refer to appendix D for instructions 3 3 Configuring the Network Configuring a static IP address Your UEIPAC is configured at the factory with the static IP address 192 168 100 2 to be part of a private network You can change the IP address using the following command setip IP address The IP address change takes effect immediately and is stored in the configuration file etc network conf Configuring the auxiliary Ethernet port Note that setip only configures eth0 on UEIPACs equipped with dual Ethernet controller UEIPAC 600R UEIPAC 1200R UEIPAC 300 1G and UEIPAC 600 1G Use ifconfig to configure eth1 ifconfig ethi IP address gt Insert the ifconfig command in etc rc local to make the change permanent upon reboot 17 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Changing the default packet size MTU You can change the MTU parameter for an ethernet port default MTU is 1500 bytes with the ifconfig command For example to change MTU for eth0 to 9000 bytes ifconfig ethO mtu 9000 The command will complain with the message Invalid Argument if you set the value too high The highest value tolerated on current hardware is 9500 bytes Insert the command in etc rc local to make the change permanent upon reboot Configuring dynamic IP address using a DHCP server If you have DHCP server available you can configure
70. spends This Debug perspective is designed to support application debugging It incorporates views for displaying the debug stack variables and breakpoint management Do you want to open this perspective now Remember my decision The debugger will pause the program execution at the beginning of main Set a breakpoint on a line in main Right click on the line and select Toggle breakpoint then press F8 to resume execution The debugger will pause the program again at the line where the breakpoint was set 18 UEIPAC SDK User Manual United Electronic Industries The High Performance Alternative S Debug Sample207 Sample207 c Eclipse SDK Ul m4 c5 lets File Edit Refactor Navigate Search Run Project Window Help n E amp lm 0 Q i 220 3 fy S5 Debug a C C E PETAR ET 35 Debug 23 _ 5 60 variables 23 99 Breakpoints ii B Modules 0 d n EN Hwe amp RY gdbserver debugger 5 12 09 4 49 PM Suspended Name gf Thread 1 Suspended J 662 argc E 1 main0 home frederic uei ueipac 20 0 sdk DA i ans pol Remote Shell pel powerpc 604 linux qnu qdb 5 12 09 4 49 PM m amp Makefile BE Outline 22 _ e 1 Rw eo stdio h signal h sched h netinet in h unistd h sys time h PDNA h ParseParams h TIMEOUT DELAY stop int E Console 23 j Tasks El Problems Executables Memory 3X X MAR
71. stered new interface driver sierra sierra v 1 3 2 USB Driver for Sierra Wireless USB modems modprobe ppp PPP generic driver version 2 4 2 Configure provider The system is pre configured to connect to AT amp T network If you are using a different provider edit the file etc ppp peers gsm_chat Look for the following line OK AT CGDCONT 1 IP ISP CINGULAR Replace it with the APN Access point name of you provider For example T mobile s APN is epc tmobile com so the line in VDP ee chat becomes AT CGDCONT 1 IP EPC TMOBILE COM 29 United 4 Electronic vY The High Performance Alternative Industries APNs for a few European countries UEIPAC SDK User Manual Country Provider APN Authentication Phone User Password Number Austria A1 at cgdcont 1 IP a1 net PAP CHAP 99 12 ppp DAlnetat ppp Belgium Mobistar at cgdcont 1 IP web pro be Terminal based 99 mobistar mobistar France Orange at cgdcont 1 IP orange fr Terminal based 99 1 orange orange Germany D2 at cgdcont 1 IP web vodafo PAP CHAP Q9 1 none none Vodafone ne de Netherlands KPN at cgdcont 1 IP internet Terminal based 99 1 Internet none Netherlands Orange at cgdcont 1 IP internet Terminal based 99 1 none none 0 0 Netherlands Vodafone at cgdcont 1 IP web vodafo Terminal based 99 vodafone vod
72. t run the standard DAQBios firmware from the UEIPAC the same way you would from a host PC running Windows or Linux 41 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative The PowerDNA API uses the IP address specified in the function DqOpenIOM to determine whether you wish to access the layers local to the UEIPAC or remote layers installed in a remote PowerDNA IO module Set the IP address to the loopback address 127 0 0 1 and the API will know that you want to access the local layers The PowerDNA API implements various modes to communicate with the I O layers e Immediate It is the easiest mode for point by point input output on all layers It also is the least efficient because it requires one call for each incoming and or outgoing request You can not achieve maximum performances with that mode Immediate mode examples are named SampleXXX e Data Mapping DMAP This is the most efficient mode for point by point input output on AI AO DIO and CT layers Incoming and outgoing data from to multiple layers are all packed in a single call DMAP mode examples are named SampleDMapX XX e Buffered ACB Allows access to AI AO DIO and CT layers at full speed It is designed to correct communication errors that might happen on the network link The error correction mechanisn will cause issues with real time deadlines ACB mode examples are named SampleACBXXX
73. the UEIPAC 22 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative scp lt source file path on PC gt root 192 168 100 2 lt destination path on UEIPAC gt To receive a file from the UEIPAC scp root 192 168 100 2 lt source file path on UEIPAC gt lt destination path on PC gt 4 5 TFTP Client To retrieve a file from a TFTP server use the following command tftp g r remote file name TFTP server IP address 4 6 Windows shared directory You can mount a directory shared by a Windows computer or a Network Attached Storage NAS Load the cifs kernel module modprobe cifs Mount the network share mount t cifs hostip share mnt o username lt user gt password lt pass gt 23 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative 5 Connecting USB devices You can only connect USB devices to PowerDNA cubes or PowerDNR racks equipped with a USB type A connector 4 32 1 Type A The Linux kernel supports most USB devices but the UEIPAC only comes with drivers for USB mass storage devices to save space on the SD card Please contact UEI if you plan to use any other USB device 5 1 USB Mass Storage USB mass storage devices use multiple form factors It goes from the smallest USB flash drive to enclosures used to connect ATA or SATA hard drives The UEIPAC supports all of those devices as long as they comp
74. tmp rfs mnt 9 Unmount the SD card and insert it in the UEIPAC It is now ready to boot sudo umount dev sdbi 52 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative On the UEIPAC itself Boot the UEIPAC from the RAM disk instead of the SD card follow instructions detailed in chapter 3 2 ils Set the IP address setip lt IP address of the UEIPAC gt 2 Format the SD card mke2fs j dev sdcard1 3 Mount the SD card mount dev sdcardi mnt 4 Transfer the root file system image to the UEIPAC from a Linux or Windows PC scp rfs x y z tgz rootQ IP address of UEIPAC gt mnt 5 Un compress the image gunzip mnt rfs x y z tgz tar xvf mnt rfs x y z tar mv mnt rfs mnt sync 9 3 Running the standard DAQBios firmware Starting with the 2 0 release UEIPACs come with both a Linux kernel and DAQBios firmware loaded in flash You can select which one you want to run by setting a configuration variable in the u boot boot loader Connect to the UEIPAC through the serial port and power up the cube Press a key before the 2 seconds countdown ends to enter U Boot s command line interface Configure UEIPAC with Freescale 5200 CPU to run DAQBios firmware 1 Set U Boot s boot command to start the DAQBios firmware automatically setenv bootcmd fwjmp saveenv 2 Reset and boot the DAQBios firmware reset Configure UEIPAC with Freescale 5200 CPU to run Linux 53 UEI
75. trol the execution of your program by setting breakpoints suspending executed programs stepping through your code and examining the contents of variables To debug a project Click Run gt Debug The Debug window opens Double click C Local Application In the Name field type Hello World You can now select this debug launch configuration by name the next time that you debug this project In the Project box type hello exe Click Debug You will now see the debug perspective with the hello exe application window open The C C editor repositions in tha narenactiam http 127 0 0 1 51395 help topic org eclipse cdt doc user getting_started cdt_w_debug hi 20 D UEIPAC SDK User Manual United Electronic b d Industries The High Performance Alternative Booting from NFS Configure shared RFS on host PC 1 2 3 Install an NFS server on your Linux machine Un tar the rfs tgz file that comes on the UEIPAC CD ROM Share the rfs directory usually done by adding an entry in the etc exports file etc exports file should look like this home frederic UEIPAC rfs 192 168 100 0 255 255 255 0 rw sync no_subtree_check no_root_squa sh Remove the file rfs etc rc d S10network kernel does the network configuration while booting and overwriting it will kill the NFS session Create the directory rfs etc mnt used to mount the sd card later Edit the file r
76. tronic Industries The High Performance Alternative 8 Reset and boot the new kernel reset UEIPAC with Freescale 8347 CPU 1GBit Ethernet 10 Erase unprotected part of flash memory erase fe000000 feifffff 11 Configure the UEIPAC s IP address setenv ipaddr IP address of the UEIPAC 12 Configure U Boot to use your host PC as TFTP server setenv serverip IP address of your host PC 13 Download the new kernel from the TFTP server tftp 200000 cuImage ueipac834x 14 Write kernel into flash make sure you literally type filesize cp b 200000 fe000000 filesize 15 Set U Boot s boot command to automatically boot Linux setenv bootcmd bootm fe000000 16 Save environment variables to flash saveenv 17 Reset and boot the new kernel reset 9 2 Initializing an SD card Your UEIPAC came pre installed with an SD card containing the root file system necessary to run Linux You might want to initialize a new SD card if the factory installed card becomes unusable or if you decide to upgrade to a faster or bigger one On a Linux PC Note You need to run Linux on your host PC to initialize an SD card This is required because the SD card must be formatted with the ext2 file system Make sure automatic mounting is disabled for removable medias 1 Insert the SD card in a USB adapter connected to your host PC 51 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternat
77. tronie Industries vY The High Performance Alternative UEIPAC SDK User Manual C C Sample201 Sample201 c Eclipse Platform File Edit Refactor Navigate Search Run Project Window Hi eo e un 6 d G Z sS an R Project Explorer oe m W Sample201 c RN BS io v o ae Sample201 H A Includes GH Sample201 c Makefile Sample201 Sample201 0 GE a Local Files tz Local Shells ex GH Files g amp Shell Processes E E All Processes e init amp gatekeeper O amp pdflush pdflush j amp kswapd0 a kthreadd aiojo j nfsiod j amp ksoftirgd O0 amp events 0 amp khelper kblockdjo amp sdcard j amp hid compat j rpciod amp inetd amp sh d khubd Lill gi include Pars int stop fi Handler for void handler i int main int s PDNA PARAE int hd0 int i ret uinti dat double fds struct tin double dur uint32 clk DOSETCLEK c float actu ei Problems fz Tasks L No consoles to display at th 13 UEIPAC SDK User Manual United Flectronie Industries The High Performance Alternative Righ click on UEIPAC Ssh Terminals and select Launch Terminal to open a remote shell session on the UEIPAC CiC Sample201 Sample201 c Eclipse Platform DER File Edit Refactor Navigate Search Run Project Window Help mie m i Gr B Ee SE O Qa ern EJ Planning a canis fay CVS Reposito
78. ts defaults 0 0 tmpfs var tmpfs defaults size 2M 0 0 2 Create a new script etc varsetup sh with the content below It setups the folders needed in var and maps a few writable folders at tmp mnt and home mkdir var tmp mkdir var log mkdir var lib mkdir var lib misc mkdir var spool mkdir var spool cron mkdir var spool cron crontabs mkdir var run mkdir var lock mkdir var mnt mkdir var home mount bind var tmp tmp mount bind var mnt mnt mount bind var home home 3 Edit etc inittab as follow to execute varsetup sh Mount all filesystem listed in etc fstab sysinit bin mount a Create and mount non persistent folders sysinit etc varsetup sh Configure local network interface sysinit sbin ifconfig lo 127 0 0 1 up sysinit sbin route add net 127 0 0 0 netmask 255 0 0 0 lo run rc scripts sysinit etc rcs Start a shell on the console 25 UEIPAC SDK User Manual y x United Flectronic Industries The High Performance Alternative ttyS0 respawn bin sh unmount root file system when shutting down shutdown bin umount a r 4 Create symbolic links to files stored in etc that need to be kept writeable ln s var resolv conf etc resolv conf ln s var layers xml etc layers xml Configure Uboot 1 Connect the console serial port power up the UEIPAC and press a key to enter U Boot 2 Type the following commands to load the root file system
79. update that Linux kernel if needed You first need to install a TFTP server on your host PC and copy the new kernel image you got from UEI technical support in the TFTP server s directory Kernel image files are are named e culmage ueipac5200 for the UEIPAC 300 and UEIPAC 600 e culmage ueipac834x for the UEIPAC 300 1G UEIPAC 600 1G UEIPAC 600R and UEIPAC 1200R You can find the image of the Kernel that shipped with your UEIPAC in the folder lt UEIPAC SDK directory gt kernel That same folders also contains scripts to download the kernel sources and build the kernel yourself see Appendix E Connect to the UEIPAC through the serial port and power up the cube Press a key before the 2 seconds countdown ends to enter U Boot s command line interface UEIPAC with Freescale 5200 CPU 100MBit Ethernet 1 Erase unprotected part of flash memory erase ffd50000 ffefffff 2 Configure the UEIPAC s IP address setenv ipaddr IP address of the UEIPAC 3 Configure U Boot to use your host PC as TFTP server setenv serverip IP address of your host PC 4 Download the new kernel from the TFTP server tftp 200000 cuImage ueipac5200 5 Write kernel into flash make sure you literally type filesize cp b 200000 ffd50000 filesize 6 Set U Boot s boot command to automatically boot Linux setenv bootcmd bootm ffd50000 7 Save environment variables to flash saveenv 50 UEIPAC SDK User Manual y x United Elec
80. y 1 stopBits 1 dataBits 7 This example configuration file configures the serial server to return an error if it cannot communicate with the IOM after timeoutms milliseconds The server can retry communication for retrycount times before giving up The server will periodically poll serial ports for new incoming data using the pollperiodms value to specify the period in milliseconds This file creates two virtual serial ports dev ttyUEIO and dev ttyUEI1 to control physical ports 0 and 1 on device 2 located on the UEIPAC 34 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative dev ttyUEIO is configured to run at 9600 bits per sec no parity no stop bits and 8 data bits dev ttyUEI1 is configured to run at 57600 bits per sec parity odd 1 stop bits and 7 data bits Note that the communication settings are only default values The serial port will be re configured to use whatever communication settings you specify when opening the port from your application Run the serial server with the following command ueiserialserver config file name gt Once the server is started you can use the dev ttyUEI nodes like any other serial port with the termios API or any other program designed to access serial ports The UEIPAC comes with microcom installed on its SD card You can run microcom to test the serial ports Start the serial server with at least two configured ports dev ttyUE
81. y x United Electronic Industries The High Performance Alternative From the UEIPAC point of view the wireless modem is seen as a serial port to which it can send Hayes AT commands as if it were an old fashion RTC modem UEIPAC uses the PPP software to control the modem and configure a network connection with your phone provider Load kernel modules At the command line prompt type the following commands modprobe sierra modprobe ppp You should see the following messages printed on the console modprobe sierra usbcore registered new interface driver usbserial usbserial USB Serial Driver core USB Serial support registered for Sierra USB modem sierra 1 1 1 0 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSBO Sierra 1 1 1 1 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSB1 sierra 1 1 1 2 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSB2 sierra 1 1 1 3 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSB3 sierra 1 1 1 4 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSBA sierra 1 1 1 5 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSB5 sierra 1 1 1 6 Sierra USB modem converter detected usb 1 1 Sierra USB modem converter now attached to ttyUSB6 usbcore regi
82. ystem gt The configure script will then verify that the UEIPAC cross compiler is operational and create the Makefiles required to build the software package To build type make To install the built binaries type make install 10 2 Other software Read the README and INSTALL files that often come with open source packages for instructions about cross compiling If there are no configure script and no instructions you might still be able to build a software package to run on the UEIPAC with the command CC powerpc 604 linux gnu gcc LD powerpc 604 linux gnu ld RANLIB powerpc 604 linux gnu ranlib make 55 UEIPAC SDK User Manual y x United Electronic Industries The High Performance Alternative Appendix A RTMAP API DqRtDmaplnit Syntax int DqRtDmapInit int handle int dmapid double refreshRate Input int handle Handle to the IOM int dmapid The identifier of the newly created DMAP double refreshRate Rate at which the IOM will refresh its version of the DMAP Return DQ ILLEGAL HANDLE invalid IOM handle DQ NO MEMORY memory allocation error or exceeded maximum table size DQ SUCCESS command processed successfully Description Initialize the specified IOM to operate in DMAP mode at the specified refresh rate DqRtDmapAddChannel Syntax int DqRtDmapAddChannel int handle int dmapid int dev int subsystem uint32 cl int clSize Input int handle Handle to the IOM int dmapid Identifier of the D
Download Pdf Manuals
Related Search
Related Contents
Samsung YP-T6H دليل المستخدم Supermicro MBD-X8QB6-F-B Sitecom USB 2.0 internal hub Worldwide Lighting W83095C23-SM Instructions / Assembly L`univers bariolé de la « pasta » et des sauces Copyright © All rights reserved.
Failed to retrieve file