Trước hết, bạn định dùng phần mềm trên host PC của Tiny Bootloader hay sẽ tự viết? Giao thức của Tiny Bootloader khá đơn giản, có thể thấy ngay trong phần chú thích của các mã nguồn firmware.
Về chuyện hàm main() được thực thi sau vài chục chu kỳ lệnh, đây là chuyện bình thường, vì các trình biên dịch cấp cao thường thiết lập một số điều kiện làm việc (ngăn xếp, biến được khởi tạo, ...) trước khi nhảy đến chương trình chính, trong giai đoạn startup. Nếu dùng C18 chẳng hạn, bạn có thể đọc mã nguồn startup. Với CCS C thì tôi không rõ bạn có thể can thiệp gì vào giai đoạn startup hay không, đơn giản vì tôi không dùng nó.
Thân,
|