Presentation is loading. Please wait.

Presentation is loading. Please wait.

Beyond CRTS Miranda Technologies Chris Pringle. Agenda Introduction About Miranda My Role Real Time Systems Crashing Nightmares Software Design in the.

Similar presentations


Presentation on theme: "Beyond CRTS Miranda Technologies Chris Pringle. Agenda Introduction About Miranda My Role Real Time Systems Crashing Nightmares Software Design in the."— Presentation transcript:

1 Beyond CRTS Miranda Technologies Chris Pringle

2 Agenda Introduction About Miranda My Role Real Time Systems Crashing Nightmares Software Design in the Real World Software Management People Skills Finding your job!

3 Introduction About me 2+2 CRTS Degree Career History RWE NPower RWE NPower Hewlett Packard Hewlett Packard Miranda Technologies Miranda Technologies

4 About Miranda Product Ranges Master Control & Branding Master Control & Branding Facility Monitoring & Control Facility Monitoring & Control Signal Processing and Distribution Signal Processing and Distribution Multi Image Display Processors Multi Image Display Processors Routing Switchers Routing Switchers Playout Servers Playout Servers Production and Post-Production Interfaces Production and Post-Production Interfaces

5 My role at Miranda Presmaster Control System Configuration tools Configuration tools Router driver Router driver Imagestore / Intuition Kernel & Drivers Kernel & Drivers Audio Audio Clip Playback Clip Playback R&D Responsibilities Configuration Management System Configuration Management System R&D Servers R&D Servers R&D Racks R&D Racks

6 Real Time Systems What are they? Hard real time Hard real time Operation depends on correctness and time constraints Soft real time Soft real time As above, but some toleration of lateness

7 Real Time Linux/Windows? What constitutes a Real Time O/S? Deterministic response times Deterministic response times Low interrupt latency Low interrupt latency Preemptible kernel Preemptible kernel Scheduler (FIFO) Scheduler (FIFO) And more… (Priority inversion resolution, deadlock detection etc.) And more… (Priority inversion resolution, deadlock detection etc.)

8 Real Time Linux/Windows? Are Linux and Windows Real Time? Can they be made Real Time? MontaVista Linux MontaVista Linux FSMLabs RTLinux FSMLabs RTLinux Windows CE Windows CE VXWorks VXWorks BUT – they none of them guarantee determinism! Remember – If you’re in R&D – the ‘R’ is important!!!

9 IS300 / Presmaster Demo

10 Crashing nightmares! What do you do when? System runs okay for 99.9% of the time System runs okay for 99.9% of the time System hangs after 3 weeks System hangs after 3 weeks No log entries No log entries Imagestore 300 Nightmare Simple CPU change Simple CPU change Intuition Nightmare

11 Fault finding Look for the source Is it in kernel or user space? Is it hardware? Is it in kernel or user space? Is it hardware? List the possibilities – no matter how improbable! List the possibilities – no matter how improbable! Think about what may be aggravating the problem Think about what may be aggravating the problem Try and make the problem worse Try and make the problem worse Get pointers/help Use your colleagues! Use your colleagues! Internet Internet

12 Fault Finding Reproduce it Kernel/JTAG debugger Kernel/JTAG debugger Logic analyser / FPGA scope tools Logic analyser / FPGA scope tools Isolate the problem in software If necessary, isolate the problem in hardware Learn when it’s time to change your approach

13 What was it? Imagestore 300: outb(0x80, 0x80); outb(0x80, 0x80); outb(0x30, 0x30); outb(0x30, 0x30);Intuition We’ll never know! We’ll never know!

14 Programming Real Time Systems Make effective use of drivers/interrupts Top and bottom halves Top and bottom halves FIFO Scheduler Don’t poll or sleep! Use interrupts! Don’t poll or sleep! Use interrupts! CPU vs I/O bound Get your priorities sorted! Get your priorities sorted! Process affinity Plan and experiment Plan and experiment Hardware Settings Wrongly set BIOS settings can RUIN your performance! Wrongly set BIOS settings can RUIN your performance!

15 Software Development in the Real World Build on your skills – Research! Learn when to compromise The most elegant solution isn’t always the right one Accept you’re sometimes wrong!

16 Software Management Configuration Management Issue Tracking The dreaded “D” word! Project Plan & Resources Code Reviews

17 People Skills Dealing with? Product Development Product Development Senior Managers Senior Managers Support Support Peers Peers Your immediate manager/supervisor Your immediate manager/supervisor

18 Dealing with People Management Be respectful, but fight your corner Be respectful, but fight your corner Cover your back side! Cover your back side! A good programmer is a team player! Learning to deal with awkward people Learning to deal with awkward people Accept it when you’re wrong! Accept it when you’re wrong! Don’t make recommendations to management if you’re not sure!

19 Communication Team Meetings Code Reviews Email / Documentation Log book!

20 Finding your job! Know what you want The Interview 2 way process 2 way process Don’t lie/blag – it’s transparent! Don’t lie/blag – it’s transparent! Be honest and upfront with your skill set Be honest and upfront with your skill set Sell yourself – but don’t be arrogant! Sell yourself – but don’t be arrogant! Look for ways to enhance your skills Look for a challenge!

21 Q&A

22 Chris Pringle Software Engineer Miranda Technologies Ltd. chris.pringle@miranda.com


Download ppt "Beyond CRTS Miranda Technologies Chris Pringle. Agenda Introduction About Miranda My Role Real Time Systems Crashing Nightmares Software Design in the."

Similar presentations


Ads by Google