What is AacKingstonDramHal_x64.exe?
ASUS Aura Creator (AAC) is a software suite that provides a range of tools for customizing and optimizing ASUS hardware components. One of the programs included in the suite is “AacKingstonDramHal_x64.exe,” which is specifically designed to manage the performance settings of the Kingston DRAM module. Its purpose is to ensure optimal performance and stability of the DRAM module.
The DRAM (Dynamic Random Access Memory) module is a critical computer memory component that stores data for rapid access by the CPU. It plays a vital role in the overall performance of a computer system by efficiently storing and retrieving data. The “AacKingstonDramHal_x64.exe” program is specifically developed to manage the settings of the Kingston DRAM module, which is a well-known and widely used brand of computer memory.
Through the optimization of DRAM module settings, the “AacKingstonDramHal_x64.exe” program can contribute to enhancing the overall performance and stability of your computer. This optimization can lead to faster load times, smoother performance, and a reduction in crashes or errors.
Is AacKingstonDramHal_x64.exe virus?
In summary, “AacKingstonDramHal_x64.exe” is a legitimate program developed by ASUS that is designed to improve the performance and stability of your computer by managing the settings of your Kingston DRAM module.
If you are experiencing high CPU usage from the “AacKingstonDramHal_x64.exe” process located in the temporary folder, the program may be encountering an error or conflict that is causing it to use excessive system resources.
Here are some steps you can take to try to resolve the issue:
- End the process: Open the Task Manager, locate the “AacKingstonDramHal_x64.exe” process, and click “End Task”. This will stop the process from running and using system resources.
- Delete the temporary file: Since the process is located in the temporary folder, there may be a corrupt or incomplete file causing the issue. Try deleting the file and restarting your computer. The program should recreate the necessary files when it runs again.
- Reinstall the program: If the issue persists, try uninstalling the “AacKingstonDramHal_x64.exe” program and then reinstalling it from a trusted source, such as the official ASUS website.
- Update drivers: Ensure that you have the latest drivers installed for your hardware components, including the Kingston DRAM module. Outdated drivers can cause compatibility issues and lead to high CPU usage.
If none of these steps resolve the issue, there may be Trojan Coinminer Virus


Aackingstondramhal_x64.exe – Extremely high CPU and GPU usage
Besides CPU utilization, some coin miners also use GPU power. In that instance, you will also struggle to see the mouse arrow moving – GPU is often utilized at 100%. It is not as important as the processor for system work, so Aackingstondramhal_x64.exe coin miner viruses do not waste time on trifles and utilize it all. It often may cause sad effects.
Shortly about cryptocurrency mining
Crypto mining term means the action of calculating the transaction block hash. That is a basic element of anything based on blockchain technology. Since this action takes a lot of calculations, a very powerful computer is required. The GPU is better for this purpose because they have more cores available. Cryptomining farms usually consist of tens and hundreds of GPUs to complete their task efficiently. Such computer systems are useless for “normal” gaming or web browsing. Fraudsters who make profit via this coin miner use someones’ hardware instead, even if they are used for regular activity. 1
List of the typical coin miner symptoms
How dangerous is the Aackingstondramhal_x64.exe miner?
Coin miners do not deal damage to your files. However, they do a lot of unpleasant things with the whole system
First, Aackingstondramhal_x64.exe malware makes your PC overloaded. It is unable to run your applications now, because all processor power is consumed by malware. That malware does not care for your demands. All it pays attention to is generating profits on you. Even if you are patient, and you waited until web browser is open, you will likely experience exceptionally slow efficiency. Pages will open up for years, any kind of logins will take about a minute – just a nightmare for a person who works online.
Aackingstondramhal_x64.exe Technical Summary.
| File Name | Aackingstondramhal_x64.exe |
| Type | Trojan Coin Miner |
| Detection Name | Trojan:Win32/CoinMiner |
| Distribution Method | Software bundling, Intrusive advertisement, redirects to shady sites etc. |
| Similar behavior | Ezupdt.exe, Dipawaymode.exe, Auepmaster.exe |
| Removal | Download and install GridinSoft Anti-Malware for automatic Aackingstondramhal_x64.exe removal. |
“Visible” harm is not a solitary unpleasant activity coin miners perform to your PC. Aackingstondramhal_x64.exe coin miner additionally deals damage to your OS. To carry out all malicious operations correctly, it wrecks the protection mechanisms of your system. You will likely see your Microsoft Defender disabled – malware halts it to avoid detection. If you check the HOSTS file, you will likely see a number of new notes – they are brought in by this trojan miner to connect your computer to a malicious mining network. All these adjustments are about to be reverted to the original in the process of system recovery.
Hardware effects of coin miner activity
Besides decreasing your computer’s performance, performing at peak power for long times can trigger damage to your machine and raise electricity bills. PC elements are created to easily deal with high load, but they are good with it only in cases when they are in good shape.
Compact and well-protected CPU cooling system is hard to crack. Meanwhile, GPUs have large and easy-to-access fans, which can be easily cracked if touched while spinning, for example, by the user much earlier before the virus injection. Malfunctioning cooling system, together with the very high load caused by Aackingstondramhal_x64.exe malware can easily lead to GPU failure 2 . Video cards are also tend to have very fast wearing when used for cryptocurrency mining. It is surely an unwanted case when the performance of your GPU plunges 20-30% just after several weeks of being exploited in such a way.
How did I get Aackingstondramhal_x64.exe coin miner virus?
Coin miners are spread through different ways, but their main sources are malicious banners and programs from dubious sources
Coin miners are the most prevalent malicious programs through “severe” malware. Adware often functions as a carrier for Aackingstondramhal_x64.exe malware infiltration: it shows you the banners containing a link to malware downloading. Yes, this abstract “malware” can belong to any type – an additional adware, spyware, rogue or backdoor. But the statistics say that around 30% of all malware spread with the malevolent banners are coin miners – and Aackingstondramhal_x64.exe is just with them. 3
The example of malicious banners you can see in the Internet
An additional way you could get this thing on your PC is by downloading it from the unreliable web page as a part of a program. Users that spread hacked variants of popular programs (which do not require the license key) have small chances to earn money. For this reason, there is a very big lure to add malware to the final package of the hacked app and get a coin for every installation. Before blaming these guys for hacking and also malware spreading, ask yourself – is it okay to avoid paying for the program in such a way? It is much cheaper to pay $20-$30 one time than to pay a much bigger figure for antivirus software and new parts for your computer.
How to remove the Aackingstondramhal_x64.exe miner from my PC?
The best way to get rid of this coin miner virus is to use anti-malware software
Eliminating such a virus involves using specific software. Effective security tools must have high performance at scanning and be lightweight – to make no problems with usage also on weak computers. Additionally, it is better to have on-run protection in your protection solution – to prevent the virus even before it starts. Microsoft Defender lacks these features for various factors. That’s why I’d advise you to use a third-party anti-malware program. GridinSoft Anti-Malware is an ideal choice that fits each of the specified qualities. 4
Before the malware removal, it is important to reboot your operating system into Safe Mode with Networking. Since Aackingstondramhal_x64.exe miner takes a lot of CPU capacity, it must be halted before launching the security program. Otherwise, your scan will last for years, even though the GridinSoft program is pretty lightweight.
Booting the PC into Safe Mode with Networking
Press the Start button, choose Power, and click Reboot while holding the Shift key on the keyboard.

Windows will reboot into recovery mode. In that mode, choose Troubleshoot→ Startup Settings→ Safe Mode with Networking. Press the corresponding button on your keyboard to choose that option.

When your PC is in Safe Mode, all third-party apps, along with the majority of non-crucial Windows components, are not started with the system start. That gives you the ability to clean the PC without dealing with high CPU usage of the coin miner.
Remove Aackingstondramhal_x64.exe coin miner virus with GridinSoft Anti-Malware
Download and install GridinSoft Anti-Malware. You can use this anti-malware program for free during its 6-day trial period. In that term, all functions are available, and it takes no payments to remove malware from your system.

After activating your free trial, start Full scan. It may last up to 10 minutes. You may use the PC as usual.

When the scan is finished, press the Clean Now button to remove all detected elements from your system. This procedure takes less than a minute.

Now, you are good to go. Reboot your PC into a normal Windows mode and use just as there was nothing malicious.
Remove Aackingstondramhal_x64.exe Virus ⛏️ Trojan Coin Miner
Name: Aackingstondramhal_x64.exe
Description: «AacKingstonDramHal_x64.exe» is a legitimate program developed by ASUS that is designed to improve the performance and stability of your computer by managing the settings of your Kingston DRAM module.
Acc dram hal что это
Reddit and its partners use cookies and similar technologies to provide you with a better experience.
By accepting all cookies, you agree to our use of cookies to deliver and maintain our services and site, improve the quality of Reddit, personalize Reddit content and advertising, and measure the effectiveness of advertising.
By rejecting non-essential cookies, Reddit may still use certain cookies to ensure the proper functionality of our platform.
For more information, please see our Cookie Notice and our Privacy Policy .
Get the Reddit app
A community for support, discussions, and recommendations related to ASUS. Welcome!
so I updated my amd chipset driver thing from armoury crate and now I'm having this issue. I wish receiving this error message is all of the problem, but I wonder if I will have any problem more not only receiving this error message. Feels like I shouldn't update through armoury crate at all. Anyway anyone know how to fix this?
Что такое HAL и чем отличается от драйвера?

Если я правильно понял, то:
Драйвер предоставляет некий интерфейс для доступа к железу.
HAL предоставляет унифицированный интерфейс для доступа к железу.
В случае с драйвером может понадобиться еще и программа от производителя для работы.
В случае с HAL подойдет любая программа, так как команды у HAL одинаковы для данного типа устройств.
Aac dram hal что это

Если я правильно понял, то:
Драйвер предоставляет некий интерфейс для доступа к железу.
HAL предоставляет унифицированный интерфейс для доступа к железу.
В случае с драйвером может понадобиться еще и программа от производителя для работы.
В случае с HAL подойдет любая программа, так как команды у HAL одинаковы для данного типа устройств.
Aac dram hal что это
Что такое aac.exe? Это безопасно или вирус? Как удалить или исправить это
Что такое aac.exe?
aac.exe это исполняемый файл, который является частью Усовершенствованный аудиокомпрессор 2012 Программа, разработанная WinSoftMagic Inc., Программное обеспечение обычно о 12.57 MB по размеру.

Это aac.exe безопасно, или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как aac.exe, должен запускаться из C: \ Program Files \ advanced audio compressor \ aac.exe, а не где-либо еще.
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
Самые важные факты о aac.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, вы должны определить, заслуживает ли он доверия, перед удалением aac.exe. Для этого найдите этот процесс в диспетчере задач.
Найдите его местоположение (оно должно быть в C: \ Program Files \ advanced аудио компрессор) и сравните его размер с приведенными выше фактами.
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус aac.exe, вы должны Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Могу ли я удалить или удалить aac.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Распространенные сообщения об ошибках в aac.exe
Наиболее распространенные ошибки aac.exe, которые могут возникнуть:
• «Ошибка приложения aac.exe».
• «Ошибка aac.exe».
• «Возникла ошибка в приложении aac.exe. Приложение будет закрыто. Приносим извинения за неудобства».
• «aac.exe не является допустимым приложением Win32».
• «aac.exe не запущен».
• «aac.exe не найден».
• «Не удается найти aac.exe».
• «Ошибка запуска программы: aac.exe».
• «Неверный путь к приложению: aac.exe.»
Как исправить aac.exe
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс aac.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлен декабрь 2021:
Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.
Загрузите или переустановите aac.exe
Вход в музей Мадам Тюссо не рекомендуется загружать файлы замены exe с любых сайтов загрузки, так как они могут сами содержать вирусы и т. д. Если вам нужно скачать или переустановить aac.exe, то мы рекомендуем переустановить основное приложение, связанное с ним Усовершенствованный аудиокомпрессор 2012.
Информация об операционной системе
Ошибки aac.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
HAL (Hardware Abstraction Layer)
В операционных системах семейства Windows NT HAL является неотъемлемой частью кода, исполняемого в режиме ядра, находится в отдельном загрузочном модуле, загружаемом совместно с ядром. Это обеспечивает возможность использования одного и того же загрузочного модуля собственно ядра ОС Windows NT на ряде систем с различными архитектурами шин ввода-вывода, управления прерываниями и таймерами. К примеру, рабочие станции, основанные на SGI Intel x86, были не совместимы с IBM PC-совместимыми рабочими станциями, но благодаря HAL Windows NT мог запускаться на них. Аналогичным образом одно и то же ядро Windows NT используется как на современных системах с контроллером прерываний APIC, так и на устаревших системах без поддержки APIC.
Windows Vista и выше (Windows Server 2008 и выше для серверов) автоматически определяют, какой уровень HAL должен быть использован во время загрузки.
BSD, Mac OS X, Linux, Solaris, CP/M, MS-DOS и некоторые другие портируемые ОС также имеют HAL, несмотря на то, что он не разрабатывался явно для выполнения описанных выше функций. Некоторые системы, такие, как Linux, имеют возможность вставлять подобный слой, к примеру, Adeos (англ.)русск., во время работы. Ядро операционной системы NetBSD широко известно наличием чистого слоя абстрагирования от аппаратного обеспечения (HAL), что позволяет ему быть высоко-портируемым. Частью этой системы являются uvm(9)/pmap(9), bus_space(9), bus_dma(9) и другие подсистемы. Популярные шины, которые используются более чем на одной архитектуре, такие, как ISA, EISA, PCI, PCI-E и др., также абстрагированы, позволяя написанным под них драйверам также быть высокопортируемыми с минимальным изменением кода.
«Экстремальный» пример HAL может быть найден в архитектурах System/38 (англ.)русск. и AS/400. Большинство компиляторов для таких систем генерируют абстрактный машинный код. Лицензированный внутренний код (LIC) переводит этот виртуальный машинный код во внутренний (собственный) код процессора, на котором он запускается, и выполняет получившийся внутренний код (исключение составляют компиляторы, которые сами генерируют LIC; эти компиляторы не доступны за пределами IBM). К примеру, прикладное программное обеспечение и программное обеспечение операционной системы, расположенные над слоем LIC, скомпилированные на оригинальной архитектуре System/38, запускаются без каких-либо модификаций и перекомпиляций на последних системах AS/400. И это несмотря на тот факт, что лежащее в основе аппаратное обеспечение было кардинально изменено; по крайней мере, три различных типа микропроцессоров находились в использовании.
HAL является даже более низким уровнем в компьютерных языках программирования, чем API, потому что он взаимодействует непосредственно с аппаратным обеспечением вместо ядра системы, следовательно, HAL требует меньше процессорного времени, чем API. Языки высокого уровня часто используют HAL и API для взаимодействия с компонентами более низкого уровня.
Содержание
Текущее состояние
HAL является устаревшим и не рекомендуется к использованию. Решения, поставленные за основу при проектировании HAL, на практике оказались неэффективными и единственным выходом оказалось создание новой подсистемы и перенос функциональности. Такой системой стал udev. В настоящий момент поддержка HAL убрана из ядра, а самые крупные дистрибутивы (Ubuntu[3], Debian и Fedora) завершили переход и используют Udev.
Причины устранения
Основное преимущество в новой подсистеме udev (перед HAL) в том, что первый является событийно-управляемой и имеет тесную интеграцию с ядром, а HAL же, будучи реализованным в userspace в виде демона, вынужден периодически опрашивать ядро. Таким образом, использование событийно-управляемого udev значительно снижает нагрузку на систему, а значит и электропотребление. Также, описания правил для устройств выполнены в виде простых файлов конфигурации и гораздо проще и понятней для пользователей и разработчиков, чем XML примененный ранее в HAL. И наконец, udev разработан «с чистого листа», с учётом предыдущего опыта и в нём отсутствует устаревший или беспорядочный код.
Процесс миграции c HAL на udev
Изначально большая часть логики HAL была перенесена в udev, а правила в новый модуль — DeviceKit (не путать с PolicyKit или ConsoleKit). Однако вскоре схема udev+DeviceKit несколько изменилась — разработчики обнаружили, что большая часть аппаратуры уже управляется различными программными компонентами и необходимы только правила для дисков (udisks) и питания (upower). Проект DeviceKit был разбит на несколько более мелких частей и больше не используется и не упоминается. Таким образом современные дистрибутивы используют только Udev и правила к нему (udisks, upower — часть пакета udev-extras). Однако ввиду инерционности кода, многие программы всё ещё требуют устаревший HAL (в основном для обнаружения дисков) и поэтому дистрибутивы вынуждены поставлять HAL, фактически дублируя логику (например Qt3, и столкнувшийся с этим проект Trinity).
Уровень аппаратных абстракций
Как уже упоминалось, одним из наиболее важных элементов конструкции Windows является ее переносимость между разнообразными аппаратными платформами. Уровень аппаратных абстракций — hardware abstraction layer (HAL) является ключевой частью, обеспечивающей возможность такой переносимости.
HAL является загружаемым модулем режима ядра (Hal.dll), обеспечивающим низкоуровневый интерфейс с аппаратной платформой, на которой запущена Windows. Он скрывает подробности, зависящие от аппаратуры, такие как интерфейсы ввода-вывода, контроллеры прерываний и механизмы взаимодействия процессоров, — любые функции, имеющие как архитектурные, так и машинные зависимости.
Поэтому вместо непосредственного доступа к оборудованию, внутренние компоненты Windows, а также написанные пользователями драйверы устройств, при необходимости получения информации, зависящей от платформы, поддерживают переносимость путем вызова HAL-подпрограмм. По этой причине HAL-подпрограммы документированы в WDK. Для получения дополнительной информации о HAL и его использовании драйверами устройств нужно обратиться к WDK.
Хотя в операционную систему включено несколько HAL-модулей (см. табл), у Windows есть возможность определить во время загрузки, какой HAL-модуль должен использоваться, исключая проблемы, существовавшие в ранее выпущенных версиях Windows при попытке загрузки установки Windows на разных типах систем.
Перечень HAL-модулей для x86.
| Имя HAL-файла | Поддерживаемые системы |
|---|---|
| Halacpi.dll | Персональные компьютеры с усовершенствованным интерфейсом управления конфигурированием и энергопотреблением — Advanced Configuration and Power Interface (ACPI). Предназначается только для однопроцессорной машины без поддержки усовершенствованного программируемого контроллера прерываний — APIC (наличие любого из таких контроллеров заставит систему использовать вместо этого HAL-модуль, показанный ниже) |
| Halmacpi.dll | Персональные компьютеры с усовершенствованным программируемым контроллером прерываний — Advanced Programmable Interrupt Controller (APIC), имеющие ACPI. Наличие APIC подразумевает поддержку симметричной мультипроцессорной обработки — SMP |
ПРИМЕЧАНИЕ. На x64-машинах имеется только один HAL-образ по имени Hal.dll. Это обусловлено наличием у всех x64-машин материнских плат одинаковой конфигурации, поскольку процессы требуют поддержки ACPI и APIC. Следовательно, поддержка машин без ACPI или со стандартного программируемого контроллера прерываний — PIC, не требуется.
Эксперимент: определение запущенного HAL-модуля.
Например, следующий вывод получен на системе, запустившей ACPI HAL:
start end module name
fffff800’0181b000 fffff800’01864000 hal (deferred)
Loaded symbol image file: halmacpi.dll
Image path: halmacpi.dll
Image name: halmacpi.dll
Timestamp: Mon Jul 13 21:27:36 2009 (4A5BDF08)
File version: 6.1.7600.16385
Product version: 6.1.7600.16385
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File date: 00000000.00000000
CompanyName: Microsoft Corporation
ProductName: Microsoft® Windows® Operating System
FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255)
FileDescription: Hardware Abstraction Layer DLL
LegalCopyright: © Microsoft Corporation. All rights reserved.
Эксперимент: просмотр зависимостей NTOSKRNL и HAL.
Взаимоотношения между ядром и HAL-образами можно просмотреть путем изучения их таблиц экспорта и импорта с помощью средства DependencyWalker (Depends.exe). Для изучения образа в DependencyWalker выберите пункт Open (Открыть) в меню File (Файл), чтобы открыть требуемый файл образа.
Пример вывода, который можно увидеть путем просмотра зависимостей Ntoskrnl с использованием этого средства может иметь следующий вид.
Обратите внимание на то, что Ntoskrnl связан с HAL, который, в свою очередь, связан с Ntoskrnl. (Они оба используют функции друг друга.) Ntoskrnl также связан со следующими исполняемыми файлами:
Arduino STM32 HAL, или туда и обратно
…. а потом еще раз туда, и еще раз обратно… В общем “тудов” и “обратнов” у меня было достаточно много.

Свой проект GPS Logger’a я начал на платформе Ардуино. Постепенно я вырос до контроллера STM32F103, но код остался на базе клона ардуины — stm32duino. Что именно я строю, зачем, какие библиотеки использую и прочие вопросы по самому устройству я сегодня оставлю за кадром — все это я описывал в упомянутых статьях (есть еще третья часть про билдсистему). Сегодняшняя тема — переезд на HAL (он же STM32Cube).
Время от времени в комментариях к моим статьям, а также в личных беседах с коллегами по цеху возникает вопрос “а почему ардуино? Есть же HAL!”. Сначала я отмахивался, мол, у меня уже код на ардуиновских библиотеках, не хочу переписывать. И еще мне HAL не понравился своим некрасивым и громоздким стилем. Но врожденное любопытство подстегнуло все таки посмотреть еще разок на HAL с разных сторон.
Я провел несколько месяцев пробуя разные подходы, библиотеки и платформы. В итоге я пришел к выводу, что HAL хоть и громоздкий, но, в целом, заслуживает внимания. С ним можно добиться некоторых вещей, чего нельзя сделать используя только ардуино подход (например DMA). В итоге я переписал свой проект используя HAL (не весь, часть все же осталась на Arduino, но тоже поверх HAL) о чем и хочу рассказать в этой статье.
Анализ архитектуры
Итак, архитектура, которая была вначале работы:
Системный слой реализуется библиотекой libmaple производства Leaf Labs. В ней происходит вся работа с регистрами, инициализация платы и другие низкоуровневые штуки. Библиотека STM32duino реализует интерфейс ардуино и базируется на libmaple. Библиотеки прикладного уровня построены в основном на STM32duino, но иногда спускаются на уровень libmaple для каких-то кастомных низкоуровневых вызовов (например FreeRTOS работает с SysTick таймером).
Вся эта конструкция довольно хорошо работает из коробки, многие ардуино библиотеки заводятся с пол-пинка. Портирование моего проекта с классического ардуино на stm32duino заняло всего 10 минут! У stm32duino довольно больше комьюнити, куча народу пасется на форуме и могут дать грамотный совет. Весь код открыт, более-менее структурирован, и, теоретически, туда можно контрибьютить (хотя путь от патча к мержу занимает ооочень много времени).
Но есть нюанс. Компания Leaf Labs скисла году в 2012 и потому библиотека libmaple поддерживается только силами комьюнити (stm32duino комьюнити!). С одной стороны там вроде как вылизали кучу багов, а саму библиотеку неплохо оптимизировали, но с другой стороны поддержки новых микроконтроллеров (как и допиливания новых фич к старым) ждать можно долго.
То ли дело HAL — выпускается самой ST, есть поддержка всего чего только движется, доступен удобный графический конфигуратор STM32CubeMX, есть большое (и профессиональное) сообщество. В общем, один шоколад! Вот только выкидывать все наработки и начинать все с нуля на HAL мне как то совершенно не хотелось. Я принялся искать порт arduino поверх HAL.
Почти сразу я наткнулся на HALMX STM32. Причем это проект от самих создателей STM32duino. Вот только посмотрев внимательно на код и дерево форков я понял, что там пока еще очень далеко до полноценного фреймворка. Работает только GPIO и еще немножко периферии. Надеяться на то, что там вылизаны все баги бессмысленно. Авторы на форуме подтвердили, что это они просто хотели побаловаться, попробовали, что такой подход возможен. Не более.
А вот порт STM32GENERIC выглядел поинтереснее. Кода там было существенно больше, влит свежий HAL и CMSIS, частые коммиты и пулл реквесты в мейнлайн — это все вселяло надежду. Но эти надежды тут же разбились, когда я попробовал скомпилировать свой проект с STM32GENERIC. При сборке сыпались тонны ворнингов, а в некоторых местах и вовсе не компилировалось. Может просто не вовремя скачал?
Поставив подпорки где нужно я, таки, собрал всю эту штуковину, но она, как это обычно бывает, не запустилась — плата просто не подавала признаков жизни. Что именно было не так глядя просто на код понять было невозможно. В общем, свои фиксы в STM32GENERIC я оформил в пулл реквест и на некоторое время забил. Но шило в одном месте не давало мне покоя.
Итак, как меняется архитектура с STM32GENERIC?
А никак! Все практически тоже самое. Только вместо libmaple — HAL, вместо stm32duino — STM32GENERIC. Да, можно писать на фреймворке ардуино, сдабривая это все кодом на HAL, но общая архитектура оставалась такой же. В ней мне не нравились следующие моменты:
В этой схеме ардуине отводится только роль С++ обертки над HAL. При чем исключительно чтобы поддержать (реализовать) нужный интерфейс для вышележащих библиотек. Сама же плата инициализируется кодом, который живет у меня в main() или где то рядом. Код инициализации работает поверх HAL и мог бы быть по большей части сгенерирован CubeMX.
На счет библиотек. Я использую NeoGPS (парсер NMEA потока) и Adafruit GFX (графическая библиотека + драйвер дисплея на контроллере SSD1306). Эти библиотеки хорошо написаны и отлажены, они хорошо делают свою работу. Я не вижу смысла от них отказываться и переписывать клиентский код под что нибудь другое (которое еще нужно и протестировать). Также я нахожусь в поиске библиотеки для работы с SD картой. Пробовал библиотеку SD из комплекта Ардуины, но там жуть. Сейчас я активно смотрю в сторону библиотеки SdFat.
Туда: Инициализация платы
Сказано — сделано. Разумеется все и сразу спортировать на HAL не представляется возможным. Зато возможно портирование по кусочку. Первым делом я закомментировал в своем проекте весь код и отключил все библиотеки, оставив только main(). Функции инициализации платы из STM32GENERIC я тоже закомментировал и начал понемногу копировать нужные штуки к себе в main(). В качестве полезной нагрузки я добавил моргалку светодиодом. Довольно быстро вся эта конструкция скомпилировалась и слинковалась. Только не заработала.
Что именно мешало работе было не очевидно. Китайский ST-Link у меня не завелся. Нужно было искать причину каким нибудь другим способом. Я решил зайти с другой стороны — в CubeMX создать моргалку с нуля. При том, что сам код был практически идентичным, реализация имени CubeMX работала, а моя нет. В течении двух вечеров я сводил одну реализацию к другой, копировал код туда-сюда. В итоге я таки смог завести моргалку в своем проекте. Не могу сказать, что я нашел какую-то фундаментальную проблему. Скорее это был набор мелких косяков, без которых ничего не работало
Туда: лампочки и кнопочки
Пора браться за периферию. Для управления устройством у меня предусмотрены 2 кнопочки. Также у меня есть статусный светодиод, который различным морганием показывает состояние устройства.
По началу получалось весьма симпатично (насколько симпатичен может быть такой громоздкий код). Функционал управления диодом переехал в свой собственный класс.
Hardware abstraction layer
Hardware abstraction layer
Hardware Abstraction Layer (HAL, Слой аппаратных абстракций) — слой абстрагирования, реализованный в программном обеспечении, находящийся между физическим уровнем аппаратного обеспечения и программным обеспечением, запускаемом на этом компьютере. HAL предназначен для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, таким образом чтобы большая часть кода, работающая в режиме ядра не нуждалась в изменении при её запуске на системах с различным аппаратным обеспечением. На персональных компьютерах HAL, по существу, может рассматриваться как драйвер материнской платы, позволяющий взаимодействовать инструкциям высокоуровневых языков программирования с низкоуровневыми компонентами, такими как аппаратное обеспечение.
В операционных системах семейства Windows NT HAL является неотъемлемой частью кода, исполняемого в режиме ядра, находится в отдельном загрузочном модуле, загружаемым совместно с ядром. [1] Это обеспечивает возможность использования одного и того же загрузочного модуля собственно ядра ОС Windows NT на ряде систем с различными архитектурами шин ввода/вывода, управления прерываниями и таймерами. К примеру, рабочие станции, основанные на SGI Intel x86, были не совместимы с IBM PC-совместимыми рабочими станциями, но благодаря HAL Windows NT мог запускаться на них. Аналогичным образом одно и то же ядро Windows NT используется и на современных системах с контроллером прерываний APIC, так и на устаревших системах без поддержки APIC.
«Экстремальный» пример HAL может быть найден в архитектурах System/38 и AS/400. Большинство компиляторов для таких систем генерируют абстрактный машинный код. Лицензированный внутренний код (Licensed Internal Code, LIC) переводит этот виртуальный машинный код во внутренний(собственный) код процессора, на котором он запускается, и выполняет получившийся внутренний код. (Исключение составляют компиляторы, которые сами генерируют ЛИК; эти компиляторы не доступны за пределами IBM). К примеру, прикладное программное обеспечение и программное обеспечение операционной системы, расположенные над слоем ЛИК, скомпилированные на оригинальной архитектуре System/38, запускаются без каких-либо модификаций и перекомпиляций на последних системах AS/400. И это несмотря на тот факт, что лежащее в основе аппаратное обеспечение было кардинально изменено; по крайней мере три различных типа микропроцессоров находились в использовании.
HAL является даже более низким уровнем в компьютерных языках программирования, чем API, потому что он взаимодействует непосредственно с аппаратным обеспечением вместо ядра системы, следовательно HAL требует меньше процессорного времени чем API. Языки высокого уровня часто используют HAL и API для взаимодействия с компонентами более низкого уровня.
Операционные системы, имеющие HAL, легко портируются на различное оборудование. Это особенно важно для встраиваемых систем, которые должны работать на большом количестве различных платформ.
What is AacKingstonDramHal_x86.exe?
The .exe extension on a filename indicates an exe cutable file. Executable files may, in some cases, harm your computer. Therefore, please read below to decide for yourself whether the AacKingstonDramHal_x86.exe on your computer is a Trojan that you should remove, or whether it is a file belonging to the Windows operating system or to a trusted application.
AacKingstonDramHal_x86.exe file information

AacKingstonDramHal_x86.exe process in Windows Task Manager
The process known as Kingston AURA DRAM Component belongs to software unknown by ASUSTeK Computer (www.asus.com).
Description: AacKingstonDramHal_x86.exe is not essential for the Windows OS and causes relatively few problems. AacKingstonDramHal_x86.exe is located in a subfolder of «C:\Program Files»—common is C:\Program Files\ASUS\KINGSTON_Aac_DRAM\. Known file sizes on Windows 10/11/7 are 497,176 bytes (50% of all occurrences), 252,824 bytes or 252,840 bytes.
The AacKingstonDramHal_x86.exe file is digitally signed. There is no file information. The file is not a Windows core file. The program is not visible. The software can be removed using the Control Panel’s Add\Remove programs applet. Therefore the technical security rating is 34% dangerous.
Important: Some malware camouflages itself as AacKingstonDramHal_x86.exe, particularly when located in the C:\Windows or C:\Windows\System32 folder. Therefore, you should check the AacKingstonDramHal_x86.exe process on your PC to see if it is a threat. We recommend Security Task Manager for verifying your computer’s security. This was one of the Top Download Picks of The Washington Post and PC World.
Score
User Comments
There are no user opinions yet. Why not be the first to write a short comment?
Best practices for resolving AacKingstonDramHal_x86 issues
A clean and tidy computer is the key requirement for avoiding problems with AacKingstonDramHal_x86. This means running a scan for malware, cleaning your hard drive using 1 cleanmgr and 2 sfc /scannow, 3 uninstalling programs that you no longer need, checking for Autostart programs (using 4 msconfig) and enabling Windows’ 5 Automatic Update. Always remember to perform periodic backups, or at least to set restore points.
Should you experience an actual problem, try to recall the last thing you did, or the last thing you installed before the problem appeared for the first time. Use the 6 resmon command to identify the processes that are causing your problem. Even for serious problems, rather than reinstalling Windows, you are better off repairing of your installation or, for Windows 8 and later versions, executing the 7 DISM.exe /Online /Cleanup-image /Restorehealth command. This allows you to repair the operating system without losing data.
To help you analyze the AacKingstonDramHal_x86.exe process on your computer, the following programs have proven to be helpful: A Security Task Manager displays all running Windows tasks, including embedded hidden processes, such as keyboard and browser monitoring or Autostart entries. A unique security risk rating indicates the likelihood of the process being potential spyware, malware or a Trojan. B Malwarebytes Anti-Malware detects and removes sleeping spyware, adware, Trojans, keyloggers, malware and trackers from your hard drive.
What is AacKingstonDramHal_x86.exe?
AacKingstonDramHal_x86.exe is digitally signed by ASUSTeK Computer Inc..
AacKingstonDramHal_x86.exe is usually located in the ‘C:\Program Files\ASUS\KINGSTON_Aac_DRAM\’ folder.
None of the anti-virus scanners at VirusTotal reports anything malicious about AacKingstonDramHal_x86.exe.
If you have additional information about the file, please share it with the FreeFixer users by posting a comment at the bottom of this page.
Vendor and version information [?]
AacKingstonDramHal_x86.exe does not have any version or vendor information.
Digital signatures [?]
AacKingstonDramHal_x86.exe has a valid digital signature.
| Property | Value |
|---|---|
| Signer name | ASUSTeK Computer Inc. |
| Certificate issuer name | DigiCert EV Code Signing CA (SHA2) |
| Certificate serial number | 0c64962e4467edcc1579646b7337ec8c |
VirusTotal report
None of the 67 anti-virus programs at VirusTotal detected the AacKingstonDramHal_x86.exe file.

Hashes [?]
| Property | Value |
|---|---|
| MD5 | e8501a2049ed0829a6a9c289b29bdd7e |
| SHA256 | 83e14fe1478b9407e1806dc91d26267b3f6918b6003f154ba8b92998da2b395c |
Error Messages
These are some of the error messages that can appear related to aackingstondramhal_x86.exe:
aackingstondramhal_x86.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
aackingstondramhal_x86.exe — Application Error. The instruction at «0xXXXXXXXX» referenced memory at «0xXXXXXXXX». The memory could not be «read/written». Click on OK to terminate the program.
aackingstondramhal_x86.exe has stopped working.
End Program — aackingstondramhal_x86.exe. This program is not responding.
aackingstondramhal_x86.exe is not a valid Win32 application.
aackingstondramhal_x86.exe — Application Error. The application failed to initialize properly (0xXXXXXXXX). Click OK to terminate the application.
What will you do with the file?
To help other users, please let us know what you will do with the file:
What did other users do?
The poll result listed below shows what users chose to do with the file. 69% have voted for removal. Based on votes from 165 users.

NOTE: Please do not use this poll as the only source of input to determine what you will do with the file.
Malware or legitimate?
If you feel that you need more information to determine if your should keep this file or remove it, please read this guide.
And now some shameless self promotion

Hi, my name is Roger Karlsson. I’ve been running this website since 2006. I want to let you know about the FreeFixer program. FreeFixer is a freeware tool that analyzes your system and let you manually identify unwanted programs. Once you’ve identified some malware files, FreeFixer is pretty good at removing them. You can download FreeFixer here. It runs on Windows 2000/XP/2003/2008/2016/2019/Vista/7/8/8.1/10. Supports both 32- and 64-bit Windows.
If you have questions, feedback on FreeFixer or the freefixer.com website, need help analyzing FreeFixer’s scan result or just want to say hello, please contact me. You can find my email address at the contact page.
Comments
Please share with the other users what you think about this file. What does this file do? Is it legitimate or something that your computer is better without? Do you know how it was installed on your system? Did you install it yourself or did it come bundled with some other software? Is it running smoothly or do you get some error message? Any information that will help to document this file is welcome. Thank you for your contributions.
I’m reading all new comments so don’t hesitate to post a question about the file. If I don’t have the answer perhaps another user can help you.
PProchnow writes
What is AacKingstonDramHal_x86 (32bit) doing in MY PC’s Task Manager?
It is on my PC too.
I have yet to learn much, except
it was supposed to be harmless.
My PC was on idle and I saw this 5% jump and heard my CPU fan turn up so I looked.
