is it possible? I wanna program a blank ATMega328p chip with arduino UNO, so I can drive my 8x8 LED matrix with 8Mhz (no cryastal Oscillator)
anyone knows how and best way for it? I am a mac user, i read about optiboot but not sure it's good for mac? and this link seems doesn't suit for UNO
Nick is correct. The 328 (and 328p) chips come from the factory with the fuses set to run off the internal 8MHz oscillator.
However, because DIV8 fuse bit is set, the clock speed is actually 1MHz.
This means you have to initially communicate with the chip with a SPI clock speed no greater than 256Kbps.
This corresponds to a "slow clock" setting on an ISP programmer such as a USBasp (which is the one I use.)
Once you turn the DIV8 setting off by writing new fuse values, you can program the chip at normal programming speeds.
You will then have a 328 (or 328p) running at 8MHz via the internal oscillator, as you require. No external crystal needed at any stage.
Nick will be a able to tell you how to to setup the Uno running his sketch for a slow clock, if that's how you want to do it. If you are going to be programming directly via ICSP, then there really isn't need to load a bootloader at all, unless you particularly want to.
When you take the bootloader that is called "ATmega on a breadboard (8 MHz internal clock)" then the fuses are set in a way that the ATmega328 runs on internal 8MHz without divider.