Son zamanlarda açık kaynaklı bir bootloader olan U-boot çalışan bir Atmel AT91SAM9G20 SBC ile üzerinde çalıştığım kötü bir hatanın nedenini anladım . Sorunun özü, U-boot'ın donanımın onu oluşturduğumdan farklı bir şekilde yapılandırılmasını beklemesiydi, bu nedenle bazı cihaz kayıtları yanlış yapılandırıldı.
Şimdi sorunu çözdüğüme göre, kayıtları doğru bir şekilde yapılandırmak için U-boot ayarlamam gerekiyor. Bunu, programın sonuna birkaç satır kod ekleyerek körü körüne yapabilirim, ama bu dağınık.
Bu beni soruma getiriyor: U-boot'un main () 'den başlayıp tüm dosyalardaki olası tüm kod yollarını okumaktan nasıl daha verimli çalıştığını nasıl anlayabilirim? Dosyalarda uğraşmayı denedim ve ilgili tanımlayıcıların yakınındaki koda baktım. Bunun etkisiz olduğu kanıtlanmıştır; kod çoğu umurumda değil alt sistemler için sürücüler gibi görünüyor. Aslında bootloader'ın şu ana kadar nasıl iyi çalıştığını anlıyorum, ancak naif yaklaşımımdan daha iyi bir yöntem olduğunu umuyorum.