ed langley. me ● finished crts degree here at uwe in 2006 ● went to heber for placement year ●...

38
Ed Langley

Upload: maryann-mcbride

Post on 29-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Ed Langley

Page 2: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Me

● Finished CRTS degree here at UWE in 2006● Went to Heber for placement year● Used board from Heber for final year seven

months project● Returned to Heber after finishing at UWE

Should have taken more than a weekends break!

Page 3: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber

● Based in Stroud, Gloucestershire● Design and manufacture electronic control

systems Manufacture meaning: buying the parts, inspection,

kitting and testing the final boards PCB fabrication and board assembly is

subcontracted Design includes both hardware, software and

FPGAs● 40 Employees, 10 Engineers

Page 4: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber

Page 5: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber

Page 6: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: Pluto● Embedded control board range

Cheaper (Than PC motherboards) Based on Motorola (Now Freescale) micro

controllers● Pluto 5: 68340● Pluto 6: ColdFire 5206e● Pluto 7: ColdFire 5271● Pluto 8: ColdFire 5475

Page 7: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: Pluto 6

Page 8: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: Axis

● X86 motherboard range More powerful More programmers available More expensive Less interesting for us

● Windows XP Embedded

● Intel 945 chip set and Celeron M440 Various motherboards to get dual video on board

and PCI express options

Page 9: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: old Axis

Page 10: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: old Axis

Page 11: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: Xline

● USB peripheral boards● Cypress EZ-USB FX2● Device drivers

Windows .sys Linux .ko Driver to load firmware, then another for sending

commands to the board● API DLL and .so● IO, reel control, security (Encryption and power

down monitoring) RNG, RTC, SRAM

Page 12: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Heber Products: X10i

Page 13: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

What do I do there?● Embedded software engineer● Main projects since returning:

Pluto 7 X20 Pluto 8 Linux port XPE XSpin

Page 14: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: Pluto 7

● First project when returning back to Heber● Worked on a few drivers which weren't working

Software SPI for a SEC meter

Page 15: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: Pluto 7

● ATA/FAT 32 drivers Written in house long ago from scratch Improved so more than one drive/FS is supported

● QSPI controller driver To talk to an SPI EEPROM

● Demonstration project/test harness

Page 16: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project Politics● Technology wasn't big enough leap to justify

further spending Production requires test fixtures for HP Marketing costs

● Claims that it wouldn't sell Differing opinions

● Many subtle grades of project abandonment Pluto 7: stopped Rumours and mumblings about perhaps unstopping Gaming markets change, new requirements arise

Page 17: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Next project: X20 test software

● Test suite/harness Quite a common activity in software jobs

● X20 was a USB peripheral board with: Coldfire MCU (Same as Pluto 7) PIC (RTC, security switches during power off) IO SPI SRAM 7 serial ports Smartcard <- 3DES -> FPGA

Page 18: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: X20 test softwareApplication

X20.dll

X20.sys

X20 board

US

B

user space

OS

ftdi.sys

USB

Serial portsystem calls

Page 19: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: X20 test software

● Used the opportunity to try out WxWidgets● GUI and command line versions for Linux and

Windows● FTDI USB->RS232 chips on X20

Used drivers in the OS Different system calls needed for Windows and

Linux● Quirks added delays and never worked reliably

Page 20: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: X20 test software

Page 21: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

More project politics

● X20 Board specification expanded at the request of one customer

● Became too expensive● They didn't want to buy any● Neither did anyone else● X20: definitely canned

Page 22: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Next project: Pluto 8

● New embedded control board● Freescale ColdFire 5475 MCU

MMU Ethernet controller Linux BSP from Freescale

● Fujitsu Carmine graphics Promise of OpenGL | ES driver provision

● USB host controller● Big Xilinx FPGA with flash inside

Page 23: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: Pluto 8

Page 24: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Smartcard development

Page 25: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Smartcard development: BasicCommand &H80 &H0a ZeroCounters( SessionId As Long ) ' if the session ID is not correct get out-a-here If SessionId <> SecSessionId Then SW1SW2 = errSessionIdBad Exit End If

If GetKeyNumber() = AdminEncrypted Then ' Update the success counter AuthFpgaSuccessShdw = 0 UpdateFpgaSuccess = 1 AuthFpgaSuccess = AuthFpgaSuccessShdw UpdateFpgaSuccess = 0

' Update failure counter AuthFpgaFailureShdw = 0 UpdateFpgaFailure = 1 AuthFpgaFailure = AuthFpgaFailureShdw UpdateFpgaFailure = 0 Else SW1SW2 = errGeneralFailure End If End Command

Page 26: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Project: Pluto 8

● Linux on Pluto 8 Started with the Carmine PCI evaluation card,

connected to the 5475 evaluation board● Got a basic kernel frame buffer driver working● Should have checked OpenGL driver availability● Established basic feasibility of the embedded Linux

system Real Pluto 8 boards arrived

● Convinced bosses not to contract out all the porting work and driver development

● By going ahead and doing it

Page 27: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Pluto 8 Linux

● Colilo port● Built Fujitsu drivers for our board● SDL port● Subcontracted ALSA driver to MPC Data● Tried to introduce SVN usage

Page 28: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

More cancellation

● A new x86 product was planned Intel Atom chipset motherboard with X10i joined on

to it● Would match the price of Pluto 8 and run Linux

with better performance● Pluto 8 Linux: shelved

Page 29: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Endlessly ongoing project: Microsoft Windows XP Embedded

● Warning● Don't use it● It's Rubbish

Page 30: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Endlessly ongoing project: Microsoft Windows XP Embedded

Page 31: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Endlessly ongoing project: Microsoft Windows XP Embedded

Page 32: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Bad times

● Gaming market has peaks and troughs● Heber entered a long, deep trough

3 months with low profits● Redundancy scheme announced

2 weeks wondering who will go Polishing up CV

● When is time right to move on?

Page 33: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Recent Project: Xspin with LEDs● Xspin is a USB board for spinning up to 8 reels● Had 1 month to add software PWM control

44 LED outputs● 16 brightness levels

Limit to 5 reels to provide enough spare outputs● Create wiring loom and glue LEDs in place of

reel lamps● Then had to make it do fancy patterns

Time pressure to show to customer Ended up with longer to improve it Going to show in Las Vegas this week

Page 34: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Xspin with LEDs

Page 35: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Xspin with LEDs

Page 36: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Xspin with LEDs: video!

Page 37: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Lessons learned so far

● When business case for project disappears, end project sooner not later Not that it matters because I'm not in charge

● Redundancy isn't personal

Page 38: Ed Langley. Me ● Finished CRTS degree here at UWE in 2006 ● Went to Heber for placement year ● Used board from Heber for final year seven months project

Lessons learned so far

● Small vs big company Small

● Less strict regarding design procedures● Closer to customer● Shorter projects, better feedback

Big● Can end up on long projects● Better training

No difference in job security