From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 26 Aug 2015 09:05:42 +0200 Subject: [U-Boot] Periodic task In-Reply-To: References: <55DD446F.8010808@denx.de> Message-ID: <55DD6546.7030808@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Ran, Am 26.08.2015 um 08:09 schrieb Ran Shalit: > On Wed, Aug 26, 2015 at 7:45 AM, Heiko Schocher wrote: >> Hello Ran, >> >> Am 25.08.2015 um 22:03 schrieb Ran Shalit: >>> >>> Hello, >>> >>> I need to do some periodic very simple task during u-boot prompt >>> (while u-boot wais for commands). The task is very simple, just >>> writing into a watchdog refresh register. >>> But it seems that it's very difficult to "hack" u-boot with such periodic >>> task. >>> I see that main loop is waiting in loop for characters in a call to >>> getc, which is a blocking command. If it was non-blocking, it might >>> have help me. I'm not sure if there is a way to replace the getc with >>> a non-blocking call. >>> >>> Does anyone have any idea if there is some simple way to do periodic >>> task in u-boot ? >> >> >> As you want to trigger a watchdog, have a look at >> u-boot:/drivers/watchdog >> and grep the U-Boot code for >> CONFIG_WATCHDOG >> CONFIG_HW_WATCHDOG >> >> bye, >> Heiko >> -- > > > Hi Heiko, > > That's a great suggestion. > I can understand from this, that there is timer interrupt in the > background for the watchdog refresh activity. I do not know anything about your hw ... but timer interrupt is not necessary. WATCHDOG_RESET is called from the U-Boot code .. see definition in include/watchdog.h bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany