"Porting" means to translate a program written specifically for one platform such that it is able to work on another platform. The use of high-level languages such as C generally makes the task of porting easier.
Well... C, C++, Java are all High-Level Languages that offer Portability. Software written in these languages simply need a dedicated complier and assembler for a targetted processor that runs the hardware platform.
In today's Software engineering, MFW, Customed FW, MMI, APIs and even Protocol Stack are all written in C, but usually compiled into Archives and Libraries to prevent infringement of Intellectual Properties by illegal means of copying.
Porting is a means to run higher level programs (written in HLL) to be run on a specific archiecture. For that it involves the development of initialisation routines for the specific architecture and taking it to the point where it can execute higher lever executables.