Firmware is software that typically exists on a microchip device. Your PC's BIOS is one example. The simple (Basic Input Output System, BIOS) program that runs every time you turn on your PC scans/communicates with your CPU, RAM, video card, hard drives, floppy drives, USB controller, etc. Since the program is stored (and run) on a chip, it's called "firm"ware, whereas "soft"ware is loaded from a flexible source (a hard drive) and typically run on a general purpose processor (your computer's CPU).
Firmware - Wikipedia, the free encyclopedia
A kernel is a (mid-level) piece of software that interfaces between applications and the PC's hardware. It's not as low-level as firmware (which often runs ON the hardware, itself); nor is it a high-level program like a user program (word processor, spreadsheet app, browser, etc). Unlike firmware, the kernel is software, as it gets loaded into memory when a PC boots from the hard drive (it's one of the first things to get loaded and executed).
Kernel (computing) - Wikipedia, the free encyclopedia