This is a project involving a wireless transmitter/receiver for a few kB of information at a time.
Could I get an explanation of how a microcontroller is able to connect to computer via USB? (How to program a program memory uploader bootloader as well, and where is the received info stored? I have a couple of led and RF 330Mhz in circuit, and want a way to change the data transmitted and retrieve data received using a bootloader. I have arduino uno and am new to bootloaders)
Bootloader has nothing to do with sending/receiving data. It is used to load a new program into flash memory.
When the microprocessor (uC) comes out of Reset, the bootloader monitors the incoming serial port for a message that says "Hey, got a new program for you".
Could be from the PC via the USB/Serial chip, could be from something else, the uC just knows to watch the serial line, and then do its part to receive the new program and put it into memory. Once its in memory, it starts it. If there is no message after the reset for a few seconds or so, it starts the sketch that is there.
If there is no bootloader, the sketch starts after the uC comes out of reset.
To program the part with no bootloader, the reset pin is held low, and a programmer loads up memory using the SPI lines (SCK, MISO, MOSI).
I believe the Fio board has a bootloader that works over a wireless interface.
If you want your sketch to receive some data via wireless interface and pass it on to a PC, that is not the bootloader's function, that is a sketch function.
'328P processors only have 2K of SRAM, if you want to receive a few kilobytes of data, and then pass it on, you will need more memory. A chip like the '1284P has 16Kbytes of SRAM and might be a better choice.
There is bootloader space, there is application space. The bootloader starts and then transfers control to the application.
If there is no bootloader, the application just starts.
Extra flash - easiest way is probably to add FRAM memory - reads/writes fast & easy like SRAM, holds data like EEPRPOM in case power is lost.
Ciseco sell an Arduino compatible board with integral wireless adapter that can be programmed via the wireless connection. They don't seem to be especially expensive. Would this solve your problem?