#include "generic.h" #include "rwip_config.h" #include "rwip.h" #include "ble_reg_access.h" #include "reg_blecore.h" #include "em_map_ble.h" #include "reg_ble_em_cs.h" #include "reg_ble_em_rx_buffer.h" #include "reg_ble_em_rx_desc.h" #include "reg_ble_em_tx_buffer_cntl.h" #include "reg_ble_em_tx_desc.h" #include "reg_ble_em_tx_buffer_data.h" #include "ecc_p256.h" #include "llm.h" #include "llm_util.h" #include "lld.h" #include "lld_evt.h" #include "lld_pdu.h" #include "lld_util.h" #include "RomCallFlash.h" #include "em_buf.h" #include "ea.h" #include "common_utils.h" #include "common_hci.h" #include "common_llcp.h" void output_ble_registers (void); uint32_t assembly_test0 (uint32_t input); void output_ble_registers (void) { uint8_t rxpwrup0 = 0; uint8_t txpwrdn0 = 0; uint8_t txpwrup0 = 0; bk_printf ("BLE control[8]: 0x%x\n", ble_cntl_get (8)); ble_radiopwrupdn0_unpack (&rxpwrup0, &txpwrdn0, &txpwrup0); bk_printf ("Power down control 0: rxpwrup0::0x%x, txpwrdn0::0x%x, txpwrup0::0x%x\n", rxpwrup0, txpwrdn0, txpwrup0); bk_printf ("Power down control 0: 0x%x\n", ble_radiopwrupdn0_get ()); bk_printf ("Interrupt control: 0x%x\n", ble_intcntl_get ()); bk_printf ("Upper BDADDR: 0x%x\n", ble_bdaddru_getf ()); bk_printf ("Lower BDADDR: 0x%x\n", ble_bdaddrl_getf ()); } uint32_t assembly_test0 (uint32_t input) { uint32_t output = 0xABCDEFEF; __asm__ __volatile__ (" sub r3, %0, #1\n" " sbc %0, r3\n":"=r" (output):"0" (input):"cc", "r3"); return output; } void output_diagnostics (void) { output_ble_registers (); bk_printf ("Assembly test 0, input=0, output=0x%x\n", assembly_test0 (0)); bk_printf ("Assembly test 0, input=0x800, output=0x%x\n", assembly_test0 (0x800)); }