Other Parts Discussed in Thread: SYSCONFIG
Hello,
So I noticed that no matter how I configure the Watchdog via SysCfg or manually, it just does nothing.
This is the configuration I used. Also it does not change if set to 100% or any other value. A warm reset is never issued. At first I tried setting all the stuff manually since SysCfg-usage really is not practical for our abstraction-architecture.
So I tried the following (just copied the stuff from generated files):
Watchdog_Params params; Watchdog_paramsInit(¶ms); params.resetMode = Watchdog_RESET_ON; params.windowSize = Watchdog_WINDOW_100_PERCENT ; params.debugStallMode = Watchdog_DEBUG_STALL_ON; params.expirationTime = expirationTime; watchDogHandle_ = Watchdog_open(CONFIG_WDT0, ¶ms); platformAssertFormat(watchDogHandle_ != nullptr, "could not create Watchdog. Did you already occupy this one via SysCfg?"); int32_t status = 0; /* first we need to configure the clocks */ status = SOC_moduleClockEnable(TISCI_DEV_RTI8, 1); // enable clock for WD platformAssert(status == SystemP_SUCCESS); // set clock-frequency for WD (copied from SysCfg generated stuff) status = SOC_moduleSetClockFrequency( TISCI_DEV_RTI8, TISCI_DEV_RTI8_RTI_CLK, 32552 ); platformAssert(status == SystemP_SUCCESS);
Since this did not work I trie using only the generated stuff. But its just the same. It does not work.
We are currently using the SDK with version 08.02. since we rely on some external third-company-libraries which also use the 08.02 -SDK.
I will for now implement a HW-Timer for a watchdog-behaviour myself, but this should be fixed.
Also the documentation for SDK 08.03. is not really helpful: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/DRIVERS_WATCHDOG_PAGE.html
It tells nothing about the clocks to configure and just covers a small part of the Watchdog-stuff.
Best regards
Felix