9 #ifndef __NODAMUSHI_SVD_NORMALIZED_DEVICE_HPP__ 10 #define __NODAMUSHI_SVD_NORMALIZED_DEVICE_HPP__ 46 template<
typename STRREF>
struct Device 107 template<
typename STR>
113 if(p.size() == 1)
return c;
114 else return c->find(p,1);
136 template<
typename STR>
161 template<
typename STR>
167 return c->find_cluster(p,1);
187 template<
typename STR>
193 return c->find_register(p,1);
213 template<
typename STR>
219 return c->find_field(p,1);
239 template<
typename NORMALIZED>
256 resetMask(n.svd.resetMask.get(~(uint64_t)0)),
260 for(
const auto& p:n.peripherals)
269 if(this_ptr.get() ==
this){
286 constexpr
const void*
get_parent()const noexcept{
return nullptr;}
288 constexpr
const void*
get_parent2()const noexcept{
return nullptr;}
296 namespace nv = ::nodamushi::visitor;
301 if(ret==r::BREAK)
return r::BREAK;
302 else if(ret == r::SKIP)
return r::CONTINUE;
304 if(ret==r::BREAK)
return r::BREAK;
311 #endif // __NODAMUSHI_SVD_NORMALIZED_DEVICE_HPP__ node_ptr< Register > find_register(const ::nodamushi::svd::path< STR > &p)
find register
std::shared_ptr< T > node_ptr
node_ptr< Cluster > find_cluster(string_ref p)
find peripheral
node_ptr< Register > find_register(string_ref p)
find register
__NX_NORM_HANDLE_VISIT(Enumeration)
constexpr const void * get_parent() const noexcept
allways return nullptr
Protection protection
<protection>
uint64_t get_resetValue() const
return resetValue
uint64_t get_address() const
allways return 0
uint32_t get_size() const
return size
const std::string & string_ref
node_ptr< Cluster > find_cluster(const ::nodamushi::svd::path< STR > &p)
find peripheral
Access get_access() const
return access
node_ptr< Peripheral > find_peripheral(string_ref p)
find peripheral
STRREF headerSystemFilename
<headerSystemFilename>
container class decralation
STRREF headerDefinitionsPrefix
<headerDefinitionsPrefix>
node_ptr< Peripheral > find_peripheral(const ::nodamushi::svd::path< STR > &p)
find peripheral
uint32_t addressUnitBits
<addressUnitBits>
void update_parent_of_children(list< T > &l, node_ptr< You > &you)
Device(const NORMALIZED &n)
Don't use this constructor.this constructor is for normalizer class.
node_ptr< void > find(string_ref p)
find path element
STRREF vendorID
<vendorID>
Access
Read/Write Access type enum.<access> Read-Write/Read-Only/Write-Only/Write-Once/Read- Write Once.
node_ptr< Field > find_field(string_ref p)
find field
STRREF licenseText
<licenseText>
uint64_t resetValue
<resetValue>
uint64_t get_resetMask() const
return resetMask
normalized peripheral element
node_ptr< void > find(const ::nodamushi::svd::path< STR > &p)
find path element
node_ptr< Field > find_field(const ::nodamushi::svd::path< STR > &p)
find field
constexpr const void * get_parent2() const noexcept
allways return nullptr
Protection
<protection> enum
STRREF description
<description>
node_ptr< R > __find_helper(list< R > &v, string_ref n)
void update_parent(node_ptr< Device > &this_ptr)
Protection get_protection() const
return protection
list< Peripheral > peripherals
peripheral list Peripheral class does not prohibit copying, but basically it should be treated with a...
uint64_t resetMask
<resetMask>