U-Boot and RedBoot modification for embedded boards


For launch the OS on microprocessor devices is used special system software, called bootloader. Loader checks board configuration, configures basic elements: clock generators, on-chip oscillators, frequency dividers, interface controllers, memory controllers, etc.; and then load the OS in memory and transfers control to enable it to start working. For most microprocessors, manufacture provides board development (reference boards) and loaders source code, in which are set operating frequencies, memory and board hardware environment.

As developed by us microprocessor boards have different from reference hardware environment, the number of interfaces, change partitions of NAND flash chip, memory type and size, NAND chip models, different NOR, that for particular loading of bootloader and OS necessary to apply changes in source code, check the work result, with help of measuring instruments and analyzers or indirect ways, to make sure that everything was configured correctly.

  • Used languages C/C++, assembler

What we did

U-Boot and RedBoot modification under current hardware of developed boards: change in operating frequency of processor and periphery, memory type, available memory size and address space, parameters that passed to kernel OS, debug ports, change of file system type, etc. Preparing boot images for firmware in device.

Project list

  • Controller module on base of Freescale P1011/P2020 processor (Setting working frequency of the processor and periphery, RAM size and type, virtual memory configuration, MRAM memory support, change the type of boot ROM, PHY support, setting OS parameters)
  • Colibri evaluation board based on microcontroller TI AM3359 (Setting working frequency of the processor, RAM size, setting OS parameters)
  • Video wall board based on Hisilicon Hi3531 processor (Setting working frequency of the processor and periphery, RAM size and type, PHY support, setting OS parameters)
  • High resolution IP camera on base of TI DM368 processor (Setting working frequency of the processor and periphery, RAM size, PHY support, change of file system type from cramfs to jffs2, setting OS parameters)
  • Standard resolution IP camera based on processor i.MX27 (Setting working frequency of the processor and periphery, RAM size)
  • High resolution IP camera based on processor i.MX27 and FPGA Spartan 6 TV tuner board on base of i.MX27 processor
  • Multimedia Reference Design module based on processor i.MX27

More projects


HTML5 RTSP player

html5_rtsp_player.js is a Javascript library which implements RTSP client for watching live streams over websocket in your browser that works directly on top of a standard HTML element.


Linux Kernel Module Programming for embedded platform

Development of interface modules, support chips and protocols for the particular design of the board.


VHDL/Verilog FPGA programming

Converting physical interfaces on the fly. Implement algorithms in real time. The implementation of high-speed data bus. Parallel, pipelined processing.