6 Jul 2010
Moving to the new office
Semihalf is expanding rapidly so on August 1st we are moving to a new facility to fit our increasing design and development needs.
18 Jun 2010
meetBSD 2010 coming soon!
The technical conference, co-organized by Semihalf is only two weeks away, www.meetbsd.org
15 Feb 2010
Semihalf at Embedded World 2010.
Please enjoy the demo of our technologies at Texas Instruments booth: Hall 12 Stand 436.
10 Feb 2010
TI DaVinci DM6446 @810MHz system.
Semihalf brings world's first commercial platform based on the new version of the chip.
19 Jan 2010
Co-organizing meetBSD 2010 conference.
Semihalf is a co-organizer of the meetBSD 2010 technical conference in Kraków.
26 Nov 2009
FreeBSD 8.0 Release.
Featuring new functionality and enhancements for the embedded FreeBSD support developed by Semihalf.
13 Nov 2009
Embedded systems talk.
November 24th 2009, Kraków
Please join our talk hosted at the Jagiellonian University.
21 Oct 2009
Flattened device tree for FreeBSD.
Semihalf has been awarded with the FreeBSD Foundation grant to carry out the development.
25 Aug 2009
FreeBSD for Marvell SheevaPlug device.
The port developed by Semihalf is now available from the FreeBSD SVN repository.
26 May 2009
Joining Texas Instruments DSP Third Party Network
Semihalf joins Texas Instruments DSP Third Party Network.
18 May 2009
Moving to the new office
We have moved to bigger and more comfortable offices. See the contact section for all details.
24 Apr 2009
Joining ARM Connected Community
Semihalf joins the ARM Connected Community partnership program.
11 Feb 2009
Lectures on embedded systems
February-May 2009, Kraków
Hosted at the University of Science and Technology (AGH).
8 Jan 2009
Joining Freescale Alliance Program
Semihalf joins the Freescale Alliance Program with embedded FreeBSD for the PowerQUICC.
15 Dec 2008
Joining AMCC Partner Program
Semihalf joins the AMCC Partner Program with embedded FreeBSD offering for the PPC440 and 460 PowerPC systems.
14 Oct 2008
FreeBSD for Marvell Orion, Kirkwood and Discovery chips.
The port developed by Semihalf is now available from the FreeBSD SVN repository.
07 Jul 2008
FreeBSD for Freescale PowerQUICCIII MPC8572
The port covers SMP, security engine, pattern maching engine and other peripherals support.
portfolio
Semihalf has completed several innovative projects, fielded in commercial products and installations. Please review some selected examples below (click on the [+] to see additional details).
FreeBSD
[+] Port to Freescale MPC750-based carrier-grade system
- platform
- PowerPC MPC750
- CompactPCI frame
- PPCBug firmware
- adapted and integrated FreeBSD native last-stage loader with firmware API
- implemented low-level kernel initialization routines, MMU set-up, all the way up to the machine-independent kernel layers
- PCI/host bridge
[+] Port to Freescale MPC8548, MPC8555 and other single-core MPC85xx family members
- platform
- PowerPC E500
- Freescale reference system (CDS)
- U-Boot firmware
- integrated FreeBSD native last-stage loader with firmware
- low-level kernel initialization routines for the E500 core
- designed and implemented low-level MMU support layer
- interrupts, exceptions handling
- implemented device drivers for on-chip peripherals
- Ethernet, including advanced features (polling, interrupts coalescing etc.)
- Security engine
- presented at the BSDCan'07 conference
[+] Port to Freescale dual-core MPC8572
- platform
- PowerPC E500 (dual-core)
- Freescale reference system (DS)
- U-Boot firmware
- designed and implemented SMP support for FreeBSD/powerpc on E500 cores
- implemented low-level PowerPC glue for the ULE scheduler
- reworked and extended the low-level MMU layer, exceptions and interrupts areas to handle multiple processor environment
- implemented device drivers for on-chip peripherals
- PCI-Express
- Pattern Matching Engine
- Security Engine
- General-purpose DMA Engine
- I2C
- extended MPC85xx Ethernet driver with enhanced functionality support (jumbo frames, VLAN tagging, hardware checksum calculation)
- extended Local Bus Controller driver to take advantage of new features found on the MPC8572
- presented at the AsiaBSDCon'09 conference
[+] Port to Marvell Orion, Kirkwood and Discovery Innovation
- platform
- 88F5181, 88F5182, 88F5281
- 88F6281, 88F6192
- MV-78100, MV-78200
- Marvell development board, reference design, SheevaPlug
- U-Boot firmware
- adapted and integrated FreeBSD native last-stage loader with firmware API
- implemented low-level Feroceon CPU initialization routines, MMU set-up, interrupts and exceptions handling all the way up to the machine-independent kernel layers
- implemented low-level Sheeva CPU initialization routines, L2 VIPT cache support routines
- implemented device drivers for on-chip peripherals
- Interrupt controller
- Timers, watchdog
- Ethernet, including advanced features (polling, interrupts coalescing, VLAN tagging etc.)
- Security engine
- PCI, PCI-Express
- General purpose DMA engine
- XOR engine
- I2C
- SATA
- GPIO
- SD/MMC
- USB 2.0 (EHCI) controller
- TDM (VoIP)
- instrumented FreeBSD/arm debugging facilities
- gdbserver
- kernel mini dump support
- presented at the BSDCan'08 conference
[+] Port to Freescale MPC5200
- platform
- PowerPC E300
- Genesi EFIKA board
- SmartFirmware (IEEE 1275 i.e. Open Firmware implementation)
- adapted existing patches for real mode Open Firmware and TLB exceptions handling
- implemented device drivers for on-chip peripherals
- MPC5200 integrated interrupt controller
- hardware specific layer for the PSC serial console driver
[+] Port to Freescale MPC5121
- platform
- PowerPC E300
- U-Boot firmware
- non-coherent DMA handling
- implemented device drivers for on-chip peripherals
- MPC5121 integrated interrupt controller
- PSC/FIFO serial console driver
- USB 2.0 (EHCI) controller
- Ethernet (FEC)
- multi user operation
[+] Port to AMCC PPC440/PPC460
- platform
- PowerPC PPC440 core
- AMCC development boards (Glacier 460GT, Canyonlands 460EX)
- U-Boot firmware
- adapted the in-tree toolchain (binutils, gcc) for PPC440
- implemented low-level kernel initialization routines
- reworked low-level MMU support layer to fit PPC440 specifics
- interrupts, exceptions handling
- non-coherent DMA handling
- implemented device drivers for on-chip peripherals
- interrupt controller driver
- USB (OHCI + EHCI) controller driver
- Ethernet (MAC/MAL)
- multi user operation
[+] Port to Marvell Dove (Armada 500)
- platform
- 88F6781
- Marvell development board
- U-Boot firmware
- implemented the very first ARMv6 support for the FreeBSD/arm
- implemented low-level Sheeva2 CPU initialization routines, L1/L2 PIPT cache support routines, MMU set-up, interrupts and exceptions handling
- adapted and integrated device drivers for on-chip peripherals
- Interrupt controller
- Timers, watchdog
- Ethernet, including advanced features (polling, interrupts coalescing, VLAN tagging etc.)
- Security engine
- PCI-Express
- XOR engine
- I2C (TWSI)
- SATA
- GPIO, MPP
- SD/MMC
- USB 2.0 (EHCI) controller
[+] Port to Texas Instruments DaVinci <NEW>
- platform
- TMS320DM6446
- Semihalf HASE-1 video analytics platform
- U-Boot firmware
- adapted and integrated low-level ARM9 initialization routines
- implemented device drivers for on-chip peripherals
- Interrupt controller
- Timers
- Ethernet
- SD/MMC
[+] Flattened Device Tree support<NEW>
- adapted and integrated libfdt library and device tree compiler components
- developed low-level support code for FDT in the FreeBSD loader(8) and kernel
- designed and developed infrastructure merging FreeBSD newbus scheme and FDT, including fdtbus(4) and simplebus(4) drivers
- converted Marvell ARM platforms to FDT convention
- DB-78100
- DB-88F5182
- DB-88F5281
- DB-88F6281
- SheevaPlug
- converted Freescale PowerPC platforms to FDT convention
- MPC8555CDS
- MPC8572DS
Linux
[+] Ports and adaptations of embedded Linux to numerous systems
- MPC5121
- MPC5200
- MPC82xx
- MPC83xx
- MPC85xx
- PA6T-1682M
- PPC405, PPC440/460
U-Boot
[+] Ports and adaptations of U-Boot to numerous systems
- ARM v4, v5, v6 implementations from different vendors (EP93xx, Feroceon/Sheeva, DaVinci, OMAP and others)
- MCF52xx
- MPC5121
- MPC5200
- MPC83xx
- MPC85xx
- PPC440
[+] Modern API for U-Boot standalone applications
- designed, developed and maintaining the modern API for standalone applications in U-Boot (apart from general applicability, this allows for booting FreeBSD using its native last-stage loader on embedded systems running U-Boot)
- presented at the BSDCan'08 conference
[+] Next generation U-Boot images format (FIT)
- designed and developed the next generation U-Boot images format, based on the Flattened Device Tree scheme (FIT)
[+] Miscellaneous features
- developed functional extensions like a reliable mechanism for firmware auto-update, extending U-Boot build infrastructure with the ability to keep object files in a separate directory, ECC diagnostic susbsystem for the MPC834x, and others
- many other extensions and improvements to U-Boot, several device drivers, various bug fixes (covering USB, memory controllers, PCI, FLASH, Ethernet controllers, exceptions, cache handling and other areas)